Nginx 502 Bad Gateway:它就是不会停止

Nginx 502 Bad Gateway:它就是不会停止

我遇到了与大多数人在使用 Nginx 时遇到的相同的问题:502 bad gateway 错误。这些错误是间歇性的,但通常每个会话都会发生多次,这意味着我的用户几乎每次使用该应用程序时都会遇到它。我尝试过调整fastcgi_buffersfastcgi_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;
}

希望这对一些人有帮助。

相关内容