nginx 502 ubuntu服务器重启后网关损坏

nginx 502 ubuntu服务器重启后网关损坏,ubuntu,nginx,fastcgi,Ubuntu,Nginx,Fastcgi,我的ubuntu服务器配置为使用nginx和fastcgi运行。问题是,重新启动后,任何请求都会在浏览器中提供502坏网关 在错误日志中,错误如下所示: connect() to unix:/var/run/fastcgi.socket-4 failed (2: No such file or directory) while connecting to upstream location ~ \.php$ { fastcgi_pass

我的ubuntu服务器配置为使用nginx和fastcgi运行。问题是,重新启动后,任何请求都会在浏览器中提供502坏网关

在错误日志中,错误如下所示:

 connect() to unix:/var/run/fastcgi.socket-4 failed (2: No such file or directory) while connecting to upstream
 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;
                        }
手动创建文件后(不知道是否正确),错误将更改为:

connect() to unix:/var/run/fastcgi.socket-4 failed (111: Connection refused) while connecting to upstream
nginx服务器对每个网站都有如下配置设置:

 connect() to unix:/var/run/fastcgi.socket-4 failed (2: No such file or directory) while connecting to upstream
 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坏网关
意味着后端服务器(在您的例子中是php)无法正常工作,因为它与服务器重启有关,我猜这与未在启动时启动有关

因为我不知道服务名称,所以运行
sudo service--status all
会列出系统上的所有服务

在您的案例中找到变成
spawn fcgi
的php服务名称后,您可以使用

sudo service spawn-fcgi start


您需要确保它在引导时自动启动,以发现您可以轻松地在谷歌上搜索如何在引导时启动服务,这非常简单,
502坏网关
错误意味着后端服务器(在您的情况下是php)无法正常工作,并且因为它与服务器重启有关,我猜这可能与它没有在开机时启动有关

因为我不知道服务名称,所以运行
sudo service--status all
会列出系统上的所有服务

在您的案例中找到变成
spawn fcgi
的php服务名称后,您可以使用

sudo service spawn-fcgi start


你需要确保它在启动时自动启动,你可以很容易地用谷歌搜索如何在启动时启动服务,这很简单

php服务可能没有运行,我不确定它叫什么,但我认为
sudo服务php5 fcgi start
可能会使它工作。问题是fastcgi在这个服务下不工作。运行你说的:php5 fcgi:未识别的服务就像我说的我真的不知道它的名字,我使用
php5 fpm
my self,你可以尝试
sudo服务--status all | grep php
来知道正确的名字找到它。它是spawn-fcgi,我使用/etc/init.d/spawn-fcgi-start启动它,它成功了。非常感谢您的建议。php服务可能没有运行,我不知道它叫什么,但我认为
sudo服务php5 fcgi start
可能会让它工作。问题是fastcgi没有在这个服务下工作。运行你说的:php5 fcgi:未识别的服务就像我说的我真的不知道它的名字,我使用
php5 fpm
my self,你可以尝试
sudo服务--status all | grep php
来知道正确的名字找到它。它是spawn-fcgi,我使用/etc/init.d/spawn-fcgi-start启动它,它成功了。非常感谢你的建议,它起了作用!在我的例子中,我在nginx上看到一个负信号,然后我运行了
服务nginx start
,但我在它之前运行了
/etc/init.d/nginx start
,没有工作。这两个命令之间有什么区别<代码>服务nginx start和
/etc/init.d/nginx start
我不确定确切的区别是什么,但最好使用您的服务管理器、
服务
系统ctl
,或者您的操作系统使用的任何东西。它工作了!在我的例子中,我在nginx上看到一个负信号,然后我运行了
服务nginx start
,但我在它之前运行了
/etc/init.d/nginx start
,没有工作。这两个命令之间有什么区别<代码>服务nginx start和
/etc/init.d/nginx start
我不确定确切的区别是什么,但最好使用您的服务管理器、
服务
系统ctl
,或者您的操作系统使用什么。