php 9000 端口没起来,PHP无法监听9000端口问题/502错误解决办法

配置nginx+php服务的时候,打开php文件就显示502,一般这个是php没启动的导致不能正常解析php文件。

因为nginx解析php文件是交给fastcgi_pass 来处理的,默认一般fastcgi_pass 有两种方式来解析php,一种是常见的tcp也就是监听9000端口,这边只做tcp的解析。

netstat -ntlp 查看9000端口是没有监听的,默认不再监听9000端口了,监听的是/tmp/php-cgi-56.sock

1.分析问题

我一般遇到这种问题都是先看nginx 的日志cd  /usr/local/nginx/logs

vim  error.log

244046848fed

连接被拒绝

查看是否有监听到 9000 端口netstat -ntulp

244046848fed

没有 监听9000端口

2.解决问题

找到 php-fpm.conf[root@izwz975qccspcqtrgb5hwrz ~]# cd /usr/local/php/etc

[root@izwz975qccspcqtrgb5hwrz etc]# ls -l

-rw-r--r-- 1 root root  467 Sep 10 18:49 php-fpm.conf

将端口监听  改为9000

244046848fed

改完重启 phpservice  php-fpm  restart

发现可以监听到9000 端口了

244046848fed

但 访问项目 网址 又 出现了  access denied

解决问题

1.修改nginx 配置  的fastcgi_param 的值,并添加include fastcgi_param ,但是fastcgi_param的值的修改又有好几种说法,经过多次尝试之后

修改如下:fastcgi_param  SCRIPT_FILENAME/data//wwwroot/default/victdo_ws/$fastcgi_script_name;

include        fastcgi_params;

reload配置文件,访问页面这次报错编程了access denied,访问被拒绝,查看了error日志没有发现错误提示,继续百度,

最终发现thinkphp框架的网址需要修改php环境的一个参数,引起问题的原因可能是:ThinkPHP的URL_MODEL问题导致ngnix解析问题。

于是我是这样解决的:

2.进入服务器,改php.ini文件。将cgi.fix_pathinfo的值改成1。

重启php-fpm。

3.结果终于访问正常了。解决问题。至此thinkphp框架的网站可以访问了,接下来研究了下cgi.fix_pathinfo

似乎这个配置如果改成1形成一个上传漏洞,具体大家可以百度参考下,所以接下来我把nginx配置文件进一步修改

修改为php文件在上传目录的执行,也就是如下代码:值得注意的是这个代码需要添加php文件解析location块之前,否则无效!location ~ ^/public/.*\.(php|php5) {   deny all;  }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值