@RomanSS

Как правильно настроить логи php-fpm?

Настроил сервер в связке nginx + php-fpm.

В целях безопасности создал нового пользователя (usersite) для работы по ssh. От его имени создаю папки в домашнем каталоге этот пользователь является владельцем всех файлов.

Первая проблема которая возникла php-fpm работает от имени (www-data) и когда мои скрипты создали уменьшенные картинки, они уже были от имени www-data, из-за этого я их удалить не могу из ssh от пользователя usersite (права стоят 755 на папки и 644 на файлы и менять эти права не хочу). Эту проблему решил выставлением в конфиге в php-fpm
user = usersite
group = usersite
listen.owner = www-data
listen.group = www-data
После этого вроде всё хорошо работает, но возникли проблемы с логами и сессиями.
php_admin_value[error_log] = /var/log/fpm-php.usersite.log
php_admin_value[session.save_path] = /var/lib/php/sessions/usersite

После этого действия я подвис, возникли проблемы с записью сессий и логов, что делать с файлами лога и сессии?
1) создать папку usersite в логах и сессии и сделать его владельцем?
2) судя по папке log в ней все файлы архивируются через какое-то время, как будет происходить это в моём случае? (архивирование я нигде не прописывал и кто это вообще делает)
3) что будет происходить в папке сессий, они там будут автоматом удаляться?
4) Что кроме логов и сессий нужно настроить, когда nginx один пользователь а php-fpm другой?
  • Вопрос задан
  • 2838 просмотров
Решения вопроса 1
1) Для корректной работы демона php-fpm либо делайте владельцем всех рабочих файлов / каталогов пользователя usersite, либо выставляйте нужные права. Есть вариант использования access list на уровне fs (утилиты getfacl / setfacl)
2) Архивированием занимается logrotate. Конфиги ищите в /etc/logrotate.d/ или /etc/logrotate.conf
3) Кажется у php есть что то вроде сборщика мусора для чистки сессий
4) Тут лучше глянуть в конфиг на предмет названий файлов / путей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
copist
@copist
Empower people to give
Оставь пользователя www-data и не меняй его

либо поставь пользователю usersite группу www-data, файлам выдай права 775 (читать писать владельцу и группе)
либо когда надо поработать с файлами, сделай sudo su www-data и ковыряйся с файлами

2) Логи ротируются другим сервисом, у которого рутовые права, он сможет.
3) Файлы сессий никогда сами не удаляются. Удаляй по крону. Крон от пользователя www-data или root
4) Nginx ещё пользуется кэшированием при проксировании. Есть папки /var/lib/nginx/*** (путь зависит от версии ОС) - обычно nginx может туда писать, но если ты ему пользователя поменяешь, то и на эти папки права надо поменять
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы