为确保 Magento 网站能够在 Nginx 上正常运行,我们需要进行一些配置。需要在 Nginx 配置文件中添加以下内容:
server {
listen 80;
server_name your_domain.com;
root /path/to/magento/root;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public";
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
这个配置将 Magento 的根目录设置为 /path/to/magento/root
,并配置静态资源文件的缓存策略。它还设置 PHP-FPM 的 FastCGI 参数,以确保 PHP 脚本能够正常运行。
除基本的配置之外,我们还可以进一步优化 Nginx 以提高 Magento 网站的性能和安全性。以下是一些建议:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/ssl/certificate;
ssl_certificate_key /path/to/ssl/key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
ssl_prefer_server_ciphers on;
# ... (其他配置)
}
listen 443 ssl http2;
# ... (其他配置)
location ~ \.php$ {
allow 123.456.78.90; # 允许访问的 IP 地址
deny all; # 拒绝其他所有 IP 地址的访问
# ... (其他配置)
}
通过以上配置和优化,您可以充分发挥 Nginx 在 Magento 网站部署和运行中的优势,提高网站的性能和安全性。