• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php-fpm报502问题的解决办法

    搭建lnmp完lnmp环境后,测试时出现502报错,看到这个问题,我立刻想到是php-fpm没有起来,但是我用 ps -ef | grep php-fpm 截取 php-fpm 的进程,发现是有的,这时我有查看nginx的错误日志,发现错误信息是:

    2017/05/05 17:08:45 [crit] 3258#0: *2 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.88.1, server: 192.168.88.133, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "192.168.88.134"

    备注:php我用的版本是7.1.4的,最新的版本,之前用5.6版本的时候没有出现过这个问题

    思路:发现php-fpm的listen是unix sock方式运行的,问题可能出在php-fpm上。既然没有这个文件,就先把文件创建出来
    1、创建这个文件,并赋予权限,因为我在编译的时候是用www用户,所以将/tmp/php-cgi.sock的属主和属组都授权为www

    touch /tmp/php-cgi.sock

    chown www.www /tmp/php-cgi.sock

    重启ngix和php-fpm发现还是502的问题

    2、我在网上也查看了下,说是其中
    fastcgi_pass为配置nginx与php-fpm的交互路径,一般有两种方式
    sock方式:fastcgi_pass unix:/tmp/php-cgi.sock;
    http方式:fastcgi_pass 127.0.0.1:9000;
    任选其中一种即可,但必须和php-fpm的配置一致。
    后来我就在nginx的配置文件中加上一下代码

    location ~\.php$ {  

        root /root/wwwroot;  

        fastcgi_pass unix:/tmp/php-cgi.sock;  

        fastcgi_index index.php;  

        include fastcgi.conf;  

    3、同时修改php-fpm的配置文件php-fpm.conf,将listen = 127.0.0.1:9000改为

    listen = /tmp/php-cgi.sock
    #这个是设置 /tmp/php-cgi.sock 权限用的
    listen.owner = www
    listen.group = www
    listen.mode = 0660

    再次重启ngix和php-fpm,问题解决

    总结:

    1、其实这个问题总体就是nginx与php-fpm的交互问题,看我们选择是sock方式还是http方式,但是不管选择哪一种,我们都需要统一
    2、我在网上看到有人说将max_children 进程改大,其实这种情况我之前遇到过,它适用于本来php运行正常,突然出现502的问题,这个问题是php-fpm队列满了,出现连接拒绝的错误。如果有问题,可以参考我的博客:http://blog.csdn.net/m0_37886429/article/details/70048754
    3、还有人说将php-fpm配置文件里有backlog,backlog是linux服务器在socket处理连接数的定义,phpfpm默认为-1,将-1改为4096,重启php-fpm问题。
    4、其实我们不管选择哪一种,主要是针对自己的问题,先要看报错,然后再对症下药,不要这一种试试那一种试试。

    以上就是php-fpm报502问题的解决办法的详细内容,更多关于php-fpm报502问题的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • 详解各种PHP函数漏洞
    • 如何使用SublimeText3配置 PHP IDE环境
    • PHPStorm+Xdebug进行emote Debug时无法进入断点问题排查
    • php中foreach遍历类对象的总结
    • PHP实现创建以太坊钱包转账等功能
    • 如何使用php生成zip压缩包
    • 详解PHP使用非对称加密算法RSA
    • php常见的网络攻击及防御方法
    • PHP7下安装并使用xhprof性能分析工具
    • PHP远程调用以及RPC框架
    • PHP代码加密和扩展解密实战
    • 再谈PHP未来之路
    上一篇:PHP实现创建以太坊钱包转账等功能
    下一篇:CTF命令执行及绕过技巧
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php-fpm报502问题的解决办法 php-fpm,报,502,问,题的,解决,