websanya
@websanya
Фронтенд разработчик, подкастер

Почему в логах nginx мне пишет (13: Permission denied) при выполнение php-скриптов?

Привет, ребят.

Подскажите мне, где у меня косяки в настройке nginx + pfp-fpm? Мне в логах сервера пишет вот такую ошибку на простой скрипт, который выполняет phpinfo().

2014/09/04 22:06:10 [crit] 3944#0: *455 open() "/var/lib/nginx/tmp/fastcgi/7/04/0000000047" failed (13: Permission denied) while reading upstream, client: xx.xxx.xx.xx, server: xxx.xxx.xxx.xxx, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xxx.xxx.xxx.xxx"


Какие конфиги сюда скопировать, чтобы можно было помочь? У какого пользователя должны быть права? Какие должны быть права? И где этот пользователь должен быть прописан в файлах?

Спасибо большое

p.s. установлена CentOS 6+
  • Вопрос задан
  • 59100 просмотров
Решения вопроса 1
@Blumfontein
Пусть my_user - тот, юзер, в директории которого работает сайт.

1) В nginx.conf ставьте

user my_user; # вместо user nginx;

2) В php5/fpm/pool.d/www.conf

# Найдите и исправьте на
user = my_user
group = my_user
listen.owner = my_user
listen.group = my_user


3) Перезапуск nginx и fpm. Далее на папку /var/lib/nginx/tmp руками ставьте права 0700 на пользователя my_user

chown -R my_user:my_user 0700 /var/lib/nginx/tmp

4) PROFIT
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 7
@Mexof
Посмотрите в /etc/nginx/nginx.conf (может в CentOS другой путь, не знаю) строку "user nginx;", должна так называться. Её стоит изменить на user www-data; И дать права группе www-data на Ваш сайт:
chown -R user:www-data /path/site - где user - имя вашего пользователя, /path/site - путь к сайту.
Ответ написан
@IvanBaranov
На Centos 6.7 все права были прописаны, но Nginx продолжал выдавать:
stat() ... failed (13: Permission denied)
Помогло: https://www.opennet.ru/tips/2915_centos_rhel_selin...
Ответ написан
Посмотрите, от какого пользователя запускается nginx и посмотрите какие права на /var/lib/nginx/tmp/
Ответ написан
@Ridorix
Кому-то может помочь - SELinux может блокировать.
Либо настроить её, либо отключить.
Ответ написан
@s1dney
Нужны права на эти файлы юзеру, который делает php. (само собой, на директорию тоже права должы быть)
Ответ написан
Комментировать
merryjane
@merryjane
Системный администратор
php-fpm и nginx должны у Вас работать от одного пользователя. И у этого пользователя должны быть права на указанный выше файл. Вы можете сделать группу, куда внести всех этих пользователей и для нее дать права на данный файл, а лучше весь каталог.
Ответ написан
Вопрос разбирался тут:
https://www.linux.org.ru/forum/admin/12879857
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы