ubuntu 服务器重启后 nginx 502 错误网关
nginx 502 bad gateway after ubuntu server restart
我有一个 ubuntu 服务器配置为 运行 使用 nginx 和 fastcgi 的情况。问题是重新启动后,任何请求都会在浏览器中给出 502 错误网关。
在错误日志中,错误如下所示:
connect() to unix:/var/run/fastcgi.socket-4 failed (2: No such file or directory) while connecting to upstream
在我手动创建文件后(我不知道这是否正确)错误变为:
connect() to unix:/var/run/fastcgi.socket-4 failed (111: Connection refused) while connecting to upstream
nginx 服务器对每个网站的配置设置如下:
location ~ \.php$ {
fastcgi_pass unix:/var/run/fastcgi.socket-4;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME /document_root/$fastcgi_scr
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT /document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_index index.php;
fastcgi_intercept_errors on;
}
请注意,我对 nginx 很陌生,但是我在 apache 和 php 方面有经验和诀窍。
502 bad gateway
错误是指后端服务器(你的情况是php)没有正常运行,因为它与服务器重启有关,我猜它是相关的它没有在启动时启动。
因为我不知道服务名称,运行 sudo service --status-all
列出了系统上的所有服务。
在找到 php 服务名称(在您的情况下变成 spawn-fcgi
之后,您可以使用
启动它
sudo service spawn-fcgi start
或
sudo /etc/init.d/spawn-fcgi start
你需要确保它在启动时自动启动,发现你可以很容易地google如何使服务在启动时启动,非常简单
我有一个 ubuntu 服务器配置为 运行 使用 nginx 和 fastcgi 的情况。问题是重新启动后,任何请求都会在浏览器中给出 502 错误网关。
在错误日志中,错误如下所示:
connect() to unix:/var/run/fastcgi.socket-4 failed (2: No such file or directory) while connecting to upstream
在我手动创建文件后(我不知道这是否正确)错误变为:
connect() to unix:/var/run/fastcgi.socket-4 failed (111: Connection refused) while connecting to upstream
nginx 服务器对每个网站的配置设置如下:
location ~ \.php$ {
fastcgi_pass unix:/var/run/fastcgi.socket-4;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME /document_root/$fastcgi_scr
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT /document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_index index.php;
fastcgi_intercept_errors on;
}
请注意,我对 nginx 很陌生,但是我在 apache 和 php 方面有经验和诀窍。
502 bad gateway
错误是指后端服务器(你的情况是php)没有正常运行,因为它与服务器重启有关,我猜它是相关的它没有在启动时启动。
因为我不知道服务名称,运行 sudo service --status-all
列出了系统上的所有服务。
在找到 php 服务名称(在您的情况下变成 spawn-fcgi
之后,您可以使用
sudo service spawn-fcgi start
或
sudo /etc/init.d/spawn-fcgi start
你需要确保它在启动时自动启动,发现你可以很容易地google如何使服务在启动时启动,非常简单