Я настроил php-fpm и nginx для разработки в домашней папке, и мне не удалось решить проблему с разрешениями . Похоже, что php7.1-fpm.sock по-прежнему отказывается устанавливать соединение, хотя все разрешения кажутся правильными.
Ошибка:
root@xps:/var/log/nginx# cat error.log
2017/05/29 00:41:23 [crit] 27326#27326: *1 connect() to unix:/run/php/php7.1-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: sub.tld.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "sub.tld.com"
Это происходит каждый раз, когда я пытаюсь получить доступ к корневому веб-каталогу, который должен отображать:
<?php echo phpinfo(); ?>
в окне браузера.
nginx.conf
user darin darin;
[...]
sub.tld.com.conf для nginx
server_name sub.tld.com
root /home/darin/www
[...]
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
www. conf для php-fpm
user = darin
group = darin
[...]
listen = /run/php/php7.1-fpm.sock
[...]
listen.owner = darin
listen.group = darin
listen.mode = 0660
[...]
Похоже, что / run / php является символической ссылкой на / var / run / php. Возможно, это сделано для упрощения настройки. Я не уверен, но указание файла сокета на / var / run / php и / run / php должно работать.
root@xps:/etc/nginx/conf.d# ls -l /var/run/php/
total 4
-rw-r--r-- 1 root root 4 May 29 14:33 php7.1-fpm.pid
srw-rw---- 1 darin darin 0 May 29 14:33 php7.1-fpm.sock
root@xps:/etc/nginx/conf.d# ls -l /run/php/
total 4
-rw-r--r-- 1 root root 4 May 29 14:33 php7.1-fpm.pid
srw-rw---- 1 darin darin 0 May 29 14:33 php7.1-fpm.sock
nginx процессы
ps aux | grep nginx
root 5489 0.0 0.0 31884 880 ? Ss 14:33 0:00 nginx:
master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
darin 5490 0.0 0.0 32308 3536 ? S 14:33 0:00 nginx: worker process
fpm процессы
ps aux | grep fpm
root 5535 0.0 0.7 642880 60172 ? Ss 14:33 0:00 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
darin 5537 0.0 0.1 642880 12472 ? S 14:33 0:00 php-fpm: pool www
darin 5563 0.0 0.1 642880 12472 ? S 14:33 0:00 php-fpm: pool www
Я прочитал множество сообщений конфигурации и файлов конфигурации кажутся правильными. Было одно сообщение, в котором указывалось, что мне нужно изменить разрешения для / var / lib / nginx, поэтому darin: darin владеет этим, но я не нашел файл или папку / var / lib / nginx.
Перенос ответа из комментариев
В /run/php
drwxr-xr-x 2 www-data www-data 80 May 29 14:33 php
Для исправления проблемы были изменены разрешения на /run/php, чтобы они совпадали с разрешениями пользователя nginx:
chown darin:darin /run/php
После исправления проблемы с разрешениями все еще получал ошибку приложения при попытке получить доступ к странице index.php.
Проблема была вызвана одним из следующих пакетов: "libphp7. 1-встроенный php-apcu php-ds php-gearman php-geoip php-gmagick php-igbinary php-imagick php-mailparse php-http php-memcache php-memcached php- msgppack php-oauth php-radius php-redis php-rrd php-stomp php-tideways php uploadprogress php-uuid php-xdebug php-yaml"
.
После удаления, очистки и переустановки необходимых модулей php7.1, все работает, как и ожидалось...
.