nginx無法存取php的解決方法:1、使用文字編輯器開啟php-fpm.conf設定檔;2、修改設定【listen = /tmp/php-cgi.sock】;3、重啟nginx即可。
問題描述:
在nginx的根目錄新建了一個index.php文件,但是在存取php檔案的時候一直報錯502 。經過測試發現除了php檔案其餘都能夠直接存取 。
(推薦教學:nginx教學)
解決想法:
先判斷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即可。
相關推薦:php培訓
以上是nginx無法存取php怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!