公司網站搬遷到新服務器後,發現站點訪問不了,network裏面提示502,查看相關的server配置,感受沒有什麼問題,通過測試發現txt、html、等非php文件可以直接訪問,也就是php訪問不了,初步判定有多是php-fpm沒有安裝或者沒有啓動致使。
首先判斷php-fpm是否已經安裝,沒有安裝的狀況就須要先安裝php-fpm,安裝能夠參數相關資料。
肯定好服務器已經安裝了php-fpm以後,查看是否已經啓動或者直接重啓:
[root@izwz9glf2r6p2z8ytslvblz /]# /usr/local/php/sbin/php-fpm start
啓動完成後,重啓nginx:
[root@izwz9glf2r6p2z8ytslvblz /]# 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@izwz9glf2r6p2z8ytslvblz /]# netstat -ant | grep 9000
發現並無監聽到,但實際上咱們的php-fpm已經啓動,那如今怎麼辦呢?
咱們去查看一下php-fpm.conf裏面的配置:
[root@izwz9glf2r6p2z8ytslvblz /]# vim /usr/local/php/etc/php-fpm.conf
找到listen:
<value name="listen_address">/tmp/php-cgi.sock</value>
此時咱們須要根據配置文件的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。訪問成功。
---------------------
做者:ljihe
來源:CSDN
原文:https://blog.csdn.net/ljihe/article/details/78025133
版權聲明:本文爲博主原創文章,轉載請附上博文連接!php