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



  • 相关阅读:
    js简单排序
    js希尔排序
    js直接插入排序
    大数运算
    IOC和AOP的理解 (持续更新)
    频发事件的缓存技巧
    执行上下文深入解析(Execution Context)
    二分
    HDU 3790 最短路径问题 (双重权值)
    浅谈Targan算法
  • 原文地址:https://www.cnblogs.com/hoewang/p/10257231.html
Copyright © 2020-2023  润新知