我遇到了与大多数人在使用 Nginx 时遇到的相同的问题:502 bad gateway 错误。这些错误是间歇性的,但通常每个会话都会发生多次,这意味着我的用户几乎每次使用该应用程序时都会遇到它。我尝试过调整fastcgi_buffers
(fastcgi_buffer_size
两个方向),但都无济于事。我尝试过对配置文件进行各种其他操作,但似乎都不起作用。这是我的配置(请注意,我删除了大多数尝试过的操作,因为它们不起作用,而且我不想用一堆不相关的指令使文件变得臃肿):
server {
root /usr/share/nginx/www/;
index index.php;
# Make site accessible from http://localhost/
server_name localhost;
# Pass PHP scripts to PHP-FPM
location ~ \.php {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
# Lock the site
location / {
auth_basic "Administrator Login";
auth_basic_user_file /usr/share/nginx/.htpasswd;
}
# Hide the password file
location ~ /\. {
deny all;
}
client_max_body_size 8M;
}
我正在运行一个小型 Rackspace 云服务器,它足以处理具有少量用户群的应用程序......
答案1
是的,就是众所周知的 Nginx:502 bad gateway error… ;) 我之前处理过这个问题。对我有用的是增加fastcgi_buffers
和参数的值。我在 Nginx 中fastcgi_buffer_size
添加了 2 个参数:/etc/nginx/sites-available/default
location ~ \.php$ {
root /your/site/root;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
# set these two:
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
希望这对一些人有帮助。