記一次nginx無法訪問php的采坑過程


 

今日閑來無事裝了幾個虛擬機做負載均衡的測試,LNMP環境搭建完成,在nginx的根目錄新建了一個index.php文件,但是在 訪問php文件的時候一直報錯 502,查看相關的server配置,感覺沒有什么問題,經過測試發現 除了php文件其余都能夠直接訪問 

首先判斷php-fpm是否已經安裝,沒有安裝的情況就需要先安裝php-fpm,安裝可以參數相關資料。

確定好服務器已經安裝了php-fpm之后,查看是否已經啟動或者直接重啟:

[root@localhost ~]# /usr/local/php/sbin/php-fpm start

啟動完成后,重啟nginx:

[root@localhost ~]# service nginx restart

以上操作並沒有解決問題。

查找nginx錯誤日志,我的日志在:/var/log/nginx/error.log中,打開清一色類似錯誤:

2019/11/28 06:06:13 [error] 1640#0: *579 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.56.1, server: _, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.56.101"

大概意思是連接不上9000端口(以往都是這么干的沒有任何問題)。

現在需要查看一下是否有監聽9000端口:

[root@localhost ~]# netstat -ant | grep 9000 發現並沒有監聽(php-fpm已經啟動)

解決辦法:

打開 

vi /usr/local/php/etc/php-fpm.conf   #不知道安裝在哪里的話 可以 find / -name php-fpm.conf 搜索一下

找到listen

我們將[www]下的 listen = /tmp/php-cgi.sock 復制一下,粘貼到 nginx 配置文件

注意觀察以往 fastcgi_pass 我都會寫成 127.0.0.1:9000,現在我們需要改成 unix:/tmp/php-cgi.sock。

 

重啟一下nginx ,,成功了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM