2015-02-06 145 views
1

我有一個ubuntu服務器配置爲使用nginx和fastcgi運行的情況。問題是,重新啓動後,任何請求都會在瀏覽器中發出502錯誤的網關。ubuntu服務器重啓後nginx 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。

+1

該PHP服務可能不運行,我不知道它叫什麼,但我認爲'sudo servi ce php5-fcgi start'可能會使其工作 – 2015-02-06 22:08:18

+0

問題在於fastcgi在此服務下無法正常工作。運行你說的話:php5-fcgi:無法識別的服務 – Mike 2015-02-06 22:14:51

+1

像我說的我不知道它的名字,我使用'php5-fpm'我的自我,你可以嘗試'sudo服務--status-all | grep php'知道什麼是正確的名字 – 2015-02-06 22:19:40

回答

3

502 bad gateway錯誤表示後端服務器(在您的情況是php)運行不正常,並且由於它與服務器重新啓動有關,所以我猜想它與啓動時無法啓動有關。

由於我不知道服務名稱,因此運行sudo service --status-all列出了系統上的所有服務。

發現這竟然是spawn-fcgi你的情況PHP服務名稱後,您可以使用

sudo service spawn-fcgi start 

sudo /etc/init.d/spawn-fcgi start 

可以啓動它,你需要確保它自動開機啓動,發現你可以很容易地谷歌如何使一個服務開機啓動,這是非常簡單的