zoukankan      html  css  js  c++  java
  • php fpm安装curl后,nginx出现connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied)的错误

    这里选择直接apt-get安装,因为比起自己编译简单多了,不需要自己配置什么

    #sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

    安装后重启nginx

    #nginx -s reload

    岂知出现错误,php全部不能访问,查看错误日志如下:

    2014/07/24 23:59:46 [crit] 40455#0: *229072 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 171.9

    处理方式是:编辑/etc/php5/fpm/pool.d/www.conf文件,将以下的注释去掉:

    listen.owner = www-data
    listen.group = www-data
    listen.mode = 0660 

    然后重启php5-fpm

    sudo service php5-fpm restart

    即可。参考文章:

    After doing an upgrade on my Debian virtual server, which upgraded PHP and Nginx, I got a "502 Bad Gateway" error when browsing websites on that server. This post shows how to fix this problem, and the configuration option to prevent it occurring again on reboot. 

    tl;dr

    Edit /etc/php5/fpm/pool.d/www.conf and uncomment the following:
        listen.owner = www-data
        listen.group = www-data
        listen.mode = 0660

    Then run:
        sudo service php5-fpm restart

    Longer answer

    As well as the error in the browser, I was getting this error in the Nginx error log: 

    [crit] 2686#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.50.1, server: [...], request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "[...]"

    The problem is caused by the permissions and ownership of the /var/run/php5-fpm.sock file, which after I'd done the upgrade change to something like root:root and 0660, so it couldn't be accessed by the www-data user which Nginx was running as.

    The immediate solution is to change the permissions and/or ownership of the file like so:

    chmod 0666 /var/run/php5-fpm.sock

    OR

    chmod 0660 /var/run/php5-fpm.sock
    chown www-data:www-data /var/run/php5-fpm.sock
    

    The only catch is this won't persist after the server is restarted. To prevent the issue from occurring again, edit the /etc/php5/fpm/pool.d/www.conf file:

    sudo nano /etc/php5/fpm/pool.d/www.conf

    Locate the following lines and uncomment them:

    listen.owner = www-data
    listen.group = www-data
    listen.mode = 0660

    If you already changed the ownership/permissions of the socket file as shown above, then you don't need to do anything else now. If you didn't, then run this: 

    sudo service php5-fpm restart

    This re-creates the socket file with the ownership and permissions as configured in the file.

  • 相关阅读:
    C++ 三数之和
    C++ 保存读取二进制
    流媒体 Ubuntu部署srs、windows部署nginx
    sql函数(三)MERGE INTO函数
    sql函数(二)LISTAGG()函数(列转行函数)
    sql函数(一)ROW_NUMBER() OVER()--表内分组并排序
    java注释(类、构造函数、方法、代码块、单行、属性注释)
    springBoot注解整理
    @DateTimeFormat与@JsonFormat作用
    DataJPA简述与注解
  • 原文地址:https://www.cnblogs.com/zl0372/p/nginx_140725.html
Copyright © 2011-2022 走看看