我在nginx中有更多我的magento商店配置:
server {
listen 80;
server_name domain.com;
root /www-data/domain.com/www;
access_log /www-data/domain.com/logs/nginx.access.log main;
error_log /www-data/domain.com/logs/nginx.error_log info;
index index.php;
location / {
index index.html index.php;
try_files $uri $uri/ @handler;
}
location /app/ { deny all; }
location /includes/ { deny all; }
location /lib/ { deny all; }
location /media/downloadable/ { deny all; }
location /pkginfo/ { deny all; }
location /report/config.xml { deny all; }
location /var/ { deny all; }
location ~* "^.+\.(jpg|jpeg|gif|css|png|js|ico|pdf|zip|tar|t?gz|mp3|wav|swf)$" {
expires max;
add_header Cache-Control public;
access_log off;
}
location /. {
return 404;
}
location @handler {
rewrite / /index.php;
}
location ~ .php/ {
rewrite ^(.*.php)/ $1 last;
}
location ~ .php$ {
if (!-e $request_filename) { rewrite / /index.php last; }
fastcgi_read_timeout 60;
expires off;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我需要为管理区域创建新的位置部分,该部分在标准的index.php上运行,但是超时很长。
所以我需要像/ admin / *或/index.php/admin/*这样的路径来超时600
任何人都可以帮助我并获取此类位置的样本吗?
根据我的理解,它必须是这样的:
# Magento Admin
location ^~ /index.php/backoffice/ {
if (!-e $request_filename) { rewrite / /index.php last; }
fastcgi_read_timeout 600;
expires off;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
但是这个配置让我拒绝访问,所以我认为 fastcgi_param SCRIPT_FILENAME 必须与其他值一起使用。
答案 0 :(得分:1)
以下是我知道的超时命令的完整列表。我认为fastcgi_read_timeout就是你所需要的。
# Magento Admin
location ^~ /admin/ {
proxy_read_timeout 600;
proxy_connect_timeout 600;
fastcgi_pass 127.0.0.1:8080;
client_header_timeout 600;
client_body_timeout 600;
send_timeout 600;
}
您还可以尝试location ^ /admin/ {
变体:考虑到nginx wiki,send_timeout directive负责设置响应的一般超时。对于FastCGI,有fastcgi_read_timeout
影响fastcgi process response timeout。