Nginx 1.4.7, PHP5-FPM и ошибка Permission Denied

confguru

ExAdmin
Команда форума
После обновления Nginx 1.4.7 и PHP 5.4.28 (or 5.5.12), можете поймать ошибку коннекта к php-fpm:

Код:
2014/06/25 10:27:41 [crit] 4202#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xx.xxx.xx.xx, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xx.xx.xx.xx"
Для исправления - нужно раскоментировать в файле /etc/php5/fpm/pool.d/www.conf :

Код:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
 
Последнее редактирование:

kuznets

Новичок
А если раскоментировано а ошибка есть?

С правами 0666 работает, а с 0660 нет.
 
Последнее редактирование:

kuznets

Новичок
Проверить, что nginx добавлен в группу или работает от группы www-data.
Т.е. пользователь nginx добавлен в группу www-data?

Мои настройки:
-rw-r--r-- 1 root root 700 Feb 18 13:39 /etc/nginx/nginx.conf
Код:
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include      /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush    on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/sites-enabled/*;
}
lrwxrwxrwx 1 root root 37 Feb 15 14:20 mysite -> /etc/nginx/sites-available/mysite
-rw-r--r-- 1 root root 579 Feb 15 14:19 /etc/nginx/sites-available/mysite
Код:
server {
      listen  80;
      root /home/mysite/www;
  
      access_log  /home/mysite/logs/nginx.access.log; #расположение логов данного хоста


      server_name mysite www.mysite;


      location / {
              index index.php index.html index.htm;
      }


      location ~ \.php$ {
              #fastcgi_pass  127.0.0.1:9000;
              fastcgi_pass unix:/var/run/php5-fpm.sock;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              include        fastcgi_params;
      }
}
srw-rw---- 1 www-data www-data 0 Feb 16 14:04 php5-fpm.sock
-rw-r--r-- 1 root root 17775 Feb 4 01:32 /etc/php5/fpm/pool.d/www.conf
Код:
[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
/etc/passwd
Код:
www-data:x:33:33:www-data:/var/www:/bin/sh
nginx:x:104:106:nginx user,,,:/nonexistent:/bin/false
mysite:x:1001:1001::/home//mysite:/bin/sh
/etc/group
Код:
www-data:x:33:
nginx:x:106:
mysite:x:1001:www-data
/var/log/nginx/error.log
Код:
2015/02/19 23:50:36 [crit] 4528#0: *113 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: *.*.*.*, server: mysite, request: "GET /test.php HTTP/1.0$
 

AnrDaemon

Продвинутый новичок
Жаль. Я было подумал, что apparmor недонастроили.

Так, стоп.
У nginx primary group должна быть www-data, а не nginx.
 

kuznets

Новичок
/etc/nginx/nginx.conf
user nginx; -> user www-data;

Спасибо, так работает с
listen.mode = 0660
 

WMix

герр M:)ller
Партнер клуба
Код:
-user www-data;
+user nginx;

useradd -G www-data nginx
 

kuznets

Новичок
# groups nginx
nginx : nginx

usermod -G www-data nginx
# groups nginx
nginx : nginx www-data

Вот теперь все работает. Снк.
 

kuznets

Новичок
Опять проблема
Добавил еще один хост newsite по подобию mysite (этот работает прекрасно), а newsite не открывается, в логах тоже пусто. Как то можно глянуть вообще идет запрос с этого домена на nginx?
 

fixxxer

К.О.
Партнер клуба
Если совсем запутался, куда что роутится - расставляешь в локейшенах return 200 "что-то уникальное"; и дергаешь curl-ом. Это часто проще, чем по логам.
 

kuznets

Новичок
u0_a29@klte:/ $ ping -c 5 mysite.eu
PING mysite.eu (151.80.1.2) 56(84) bytes of data.
64 bytes from 151.80.1.2: icmp_seq=1 ttl=41 time=1189 ms
64 bytes from 151.80.1.2: icmp_seq=2 ttl=41 time=727 ms
64 bytes from 151.80.1.2: icmp_seq=3 ttl=41 time=487 ms
64 bytes from 151.80.1.2: icmp_seq=4 ttl=41 time=468 ms
64 bytes from 151.80.1.2: icmp_seq=5 ttl=41 time=745 ms

--- mysite.eu ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4011ms
rtt min/avg/max/mdev = 468.466/723.645/1189.244/260.069 ms, pipe 2
u0_a29@klte:/ $ ping -c 5 newsite.eu
PING newsite.eu (151.80.1.2) 56(84) bytes of data.
64 bytes from 151.80.1.2: icmp_seq=1 ttl=41 time=616 ms
64 bytes from 151.80.1.2: icmp_seq=2 ttl=41 time=568 ms
64 bytes from 151.80.1.2: icmp_seq=3 ttl=41 time=836 ms
64 bytes from 151.80.1.2: icmp_seq=4 ttl=41 time=646 ms
64 bytes from 151.80.1.2: icmp_seq=5 ttl=41 time=747 ms

--- newsite.eu ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 568.045/682.911/836.332/96.674 ms
u0_a29@klte:/ $
 

WMix

герр M:)ller
Партнер клуба
по ip достучаться можешь?
http://151.80.1.2

если нет смотри на сервере кто 80 порт слушает
netstat -tulpn | grep :80
проверь что это действительно 151.80.1.2
ifconfig |grep 151.80.1.2
если да, то смотри конфиги и логи nginx, вероятнее всего там ошибка

Код:
nslookup 151.80.1.2
Server:        192.168.178.1
Address:    192.168.178.1#53

** server can't find 2.1.80.151.in-addr.arpa.: NXDOMAIN
ты локально пытаешься пробиться чтоль?
 
Последнее редактирование:

kuznets

Новичок
по ip достучаться можешь?
http://151.80.1.2
http://151.80.1.2
ИП я не полный выложил.
В общем перечитывая конфиги и мануалы в 10-й раз пришла мысль сто проблема не у "меня", стал копать глубже и вспомнил про скрипт для привzзки домена от поставщика VPS http://megavz.com/howto.html
Все работает, спасибо за поддержку.
 
Сверху