nginx報錯connect() failed(111: Connection refused)while connecting to up
公司網站搬遷到新服務器后,發現站點訪問不了,network里面提示502,查看相關的server配置,感覺沒有什么問題,經過測試發現txt、html、等非php文件能夠直接訪問,也就是php訪問不了,初步斷定有可能是php-fpm沒有安裝或者沒有啟動導致。
首先判斷php-fpm是否已經安裝,沒有安裝的情況就需要先安裝php-fpm,安裝可以參數相關資料。
確定好服務器已經安裝了php-fpm之后,查看是否已經啟動或者直接重啟:
[root@xfzx /]# /usr/local/php/sbin/php-fpm start啟動完成后,重啟nginx:
[root@xfzx /]# service nginx restart然后刷新網站頁面,但是并沒有成功,依然報錯。
此時我們先在查看下錯誤日志 error.log,發現里面都是清一色的報錯:
connect() failed (111: Connection refused) while connecting to upstream … fastcgi://127.0.0.1:9000 …
提示的意思就是說連接不上9000端口,這就奇怪了,其實在平時配置nginx的server里面,大部分應該都是配置127.0.0.1:9000 作為分發端口。
現在需要查看一下是否有監聽9000端口:
[root@xfzx/]# netstat -ant | grep 9000發現并沒有監聽到,但實際上我們的php-fpm已經啟動,那現在怎么辦呢?我們去查看一下php-fpm.conf里面的配置:
[root@xfzx /]# vim /usr/local/php/etc/php-fpm.conf找到listen:
/tmp/php-cgi.sock
此時我們需要根據配置文件的listen地址做對應的修改:
?location ~ \.php$ {? ? ? ? ? ? ? ? fastcgi_pass 127.0.0.1:9000;? ? ? ? ? ? ? ? fastcgi_index index.php;? ? ? ? ? ? ? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;? ? ? ? ? ? ? ? include fastcgi_params;? ? ? ? }改成:
location ~ \.php$ {? ? ? ? fastcgi_pass ? unix:/tmp/php-cgi.sock;? ? ? ? fastcgi_index ?index.php;? ? ? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;? ? ? ? include ? ? ? ?fastcgi_params;? ? }到此這篇關于nginx報錯connect() failed(111: Connection refused)while connecting to upstream解決方法的文章就介紹到這了,更多相關nginx報錯connect() failed內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
