記一次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

以上操做並無解決問題。php

查找nginx錯誤日誌,個人日誌在:/var/log/nginx/error.log中,打開清一色相似錯誤:nginx

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端口:php-fpm

[root@localhost ~]# netstat -ant | grep 9000 發現並無監聽(php-fpm已經啓動)測試

解決辦法:

打開 spa

vi /usr/local/php/etc/php-fpm.conf   #不知道安裝在哪裏的話 能夠 find / -name php-fpm.conf 搜索一下unix

找到listenrest

咱們將[www]下的 listen = /tmp/php-cgi.sock 複製一下,粘貼到 nginx 配置文件日誌

注意觀察以往 fastcgi_pass 我都會寫成 127.0.0.1:9000,如今咱們須要改爲 unix:/tmp/php-cgi.sock。

 

重啓一下nginx ,,成功了。

 

相關文章
相關標籤/搜索