我遇到了配置为使用nginx和fastcgi运行的ubuntu服务器的情况。问题是重启后任何请求都在浏览器中提供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方面有经验和技巧。
答案 0 :(得分:4)
502 bad gateway
错误意味着后端服务器(在您的情况下是php)运行不正常,并且由于它与服务器重启有关,我猜测它与启动时没有启动有关时间。
由于我不知道服务名称,因此运行sudo service --status-all
会列出系统上的所有服务。
在您的案例中找到转为spawn-fcgi
的php服务名称后,您可以使用
sudo service spawn-fcgi start
或
sudo /etc/init.d/spawn-fcgi start
你需要确保它在启动时自动启动,发现你可以轻松地谷歌如何在启动时启动服务,这很简单