lnmp引发的fpm502错误!

8 篇文章 0 订阅

其实就是php-fpm.conf中的监听有问题,一键安装包的listen默认为:/tmp/php-cgi.sock

但是我们的项目中的fastcgi_pass  127.0.0.1:9000;vhost的文件有这个定义两个是不一样的,所以引发了502错误

事实上只需要把两个改为一致就好了,我这边是都改为了127.0.0.1:9000,不过推荐用原来的/tmp/php-cgi.sock,不然会导致通过lnmp一键安装的phpmyadmin不能使用

以下为扩充内容:

启动php-fpm

/usr/local/php/sbin/php-fpm     #  /usr/local/php/为php-fpm的安装地址

/usr/local/php/sbin/php-fpm -R  如果报错显示不能用root用户启动,则可以考虑使用 -R命令


查看是否启动成功:
 
netstat -lnt | grep 9000

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

或者使用如下命令,查看是否9000端口被php-fpm占用:

netstat -tunpl | grep 9000

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      2124/php-fpm


php-fpm 关闭:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

或者:pkill php-fpm

启动过程遇到了:

nginx中unix:/tmp/php-cgi.sock错误解决办法

出现这种问题一般是因为/tmp/php-cgi.sock功能是负责流量最主要的特征就是unix socket比tcp快,下面来解决办法。

首先建立/tmp/php-cgi.sock文件,然后将之改所有者改为www-data:

#我直接改成nginx的用户,好像必须要属于nginx的用户组才能正常使用未验证
sudo chown www-data /tmp/php-cgi.sock

到nginx.conf,如果你用的是虚拟机,那么就到相应的vhost里面进行配置里改相关文件:

修改:
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock; #这句可能是尤为关键的一句话因为它一开始启动报错的时候是说这个/tmp/php-cgi.sock已经启动,所以并不是所谓的127.0.0.1:9000这个端口给它用

找到init.d/php-cgi(参考文章开关提到的文章):

修改:
#DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 1 -u www-data -f /usr/bin/php-cgi”

DAEMON_OPTS=”-a 127.0.0.1 -s /tmp/php-cgi.sock -C 1 -u www-data -f /usr/bin/php-cgi”

然后分别重启nginx 和 spawn-fcgi即可,你的nginx效率就更高啦!:-)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值