nginx error connect to php5-fpm.sock failed (13: Permission denied)

后端 未结 25 1732
悲哀的现实
悲哀的现实 2020-11-27 09:12

I update nginx to 1.4.7 and php to 5.5.12, After that I got the 502 error. Before I update everything works fine.

相关标签:
25条回答
  • 2020-11-27 09:28

    Please NOTICE (at least in centos 8) the user who you are assigning listen.owner and other stuff to it MUST be in the same POOL with the user for example given I am the foo user

    [www] # WRONG | IN MY CASE I WAS UNDER www POOL SO IT WASNT WORKING FOR ME.
    [foo] # CORRECT | THE POOL AND THE USER MATCHES.
    
    listen.owner = foo
    listen.group = foo
    listen.mode = 0660
    user = foo
    group = foo
    

    I dont know if there's a global pool but after hours of searching I finlly did it.

    0 讨论(0)
  • 2020-11-27 09:29

    Also check SELINUX (/etc/selinux):

    # getenforce
    

    turn it off:

    # setenforce 0
    
    0 讨论(0)
  • 2020-11-27 09:30

    The problem in my case was that the Nginx web server was running as user nginx and the pool was running as user www-data.

    I solved the issue by changing the user Nginx is running at in the /etc/nginx/nginx.conf file (could be different on your system, mine is Ubuntu 16.04.1)

    Change: user nginx;

    to: user www-data;

    then restart Nginx: service nginx restart

    0 讨论(0)
  • 2020-11-27 09:30

    Just see /etc/php5/php-fpm.conf pid = /var/run/php5-fpm.pid IS PID file

    In file /etc/php5/fpm/pool.d/www.conf

    listen = /var/run/php5-fpm.sock IS SOCKET file

    if you pid equal listen (pid = /var/run/php5-fpm.sock and listen = /var/run/php5-fpm.sock) -> wrong settings and finish sett /etc/php5/fpm/pool.d/www.conf

    user = nginx
    group = nginx
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
    0 讨论(0)
  • 2020-11-27 09:30

    I did change OS on my server quite a few times trying to get the most comfortable system.

    It used to work very well most of the time but lastly I got this 502 Gateway error.

    I use a php fpm socket for each account instead of keeping the same one for all. So if one crashes, at least the other applications keep running.

    I used to have user and group www-data. But this changed on my Debian 8 with latest Nginx 1.8 and php5-fpm.

    The default user is nginx and so is the group. To be sure of this, the best way is to check the /etc/group and /etc/passwd files. These can't lie.

    It is there I found that now I have nginx in both and no longer www-data.

    Maybe this can help some people still trying to find out why the error message keeps coming up.

    It worked for me.

    0 讨论(0)
  • 2020-11-27 09:34

    Simple but works..

    listen.owner = nginx
    listen.group = nginx
    
    chown nginx:nginx /var/run/php-fpm/php-fpm.sock
    
    0 讨论(0)
提交回复
热议问题