zoukankan      html  css  js  c++  java
  • lnmp引发的fpm502错误!

    其实就是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效率就更高啦!:-)



  • 相关阅读:
    2.HTML案例二 头条页面
    1.HTML入门
    33.1.网络编程入门
    32.原子性
    【转】风控中的特征评价指标(一)——IV和WOE
    【转】Python调用C语言动态链接库
    基于蒙特卡洛树搜索(MCTS)的多维可加性指标的异常根因定位
    正则表达式全集
    基于ray的分布式机器学习(二)
    基于ray的分布式机器学习(一)
  • 原文地址:https://www.cnblogs.com/hoewang/p/10257231.html
Copyright © 2011-2022 走看看