解決PHP無法監聽9000端口問題/502錯誤解決辦法


問題背景

配置nginx+php服務的時候,發現網站能打開html,打開php文件就顯示502,一般這個是php沒啟動啊啥的導致不能正常解析php文件。

原因分析

因為nginx解析php文件是交給fastcgi_pass 來處理的,默認一般fastcgi_pass 有兩種方式來解析php,一種是常見的tcp也就是監聽9000端口,這邊只做tcp的解析。

netstat -ntlp 查看9000端口是沒有監聽的,默認不再監聽9000端口了,監聽的是/tmp/php-cgi-56.sock

[root@localhost pazzn]# netstat -ntlp   ###沒有9000端口監聽
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      13031/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1425/sshd           
tcp        0      0 0.0.0.0:888             0.0.0.0:*               LISTEN      13031/nginx: master 
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      3818/python         
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3467/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1425/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      3467/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      3401/mysqld 

解決方案

1.找到/php.conf

[root@localhost ~]# find / -name php-fpm.conf
/www/server/php/56/etc/php-fpm.conf
[root@localhost ~]#vi /www/server/php/56/etc/php-fpm.conf

2.用;注釋掉sock監聽的方式,增加9000端口監聽

[global]
pid = /www/server/php/56/var/run/php-fpm.pid
error_log = /www/server/php/56/var/log/php-fpm.log
log_level = notice

[www]
#listen = /tmp/php-cgi-56.sock
listen = 9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.status_path = /phpfpm_56_status
pm.max_children = 80
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = var/log/slow.log

3.重啟php,完美打開解析php文件

[root@localhost ]# systemctl restart php-fpm-56.service

 

注意:一定要先保證nginx.conf的配置文件是正確的哦。

 

參考鏈接:https://blog.csdn.net/moshowgame/article/details/84135977

 


免責聲明!

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



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