Свежая установка CentOS 7 и nginx 1.6.3. За официальная документация Я установил директиву access_log для пересылки через syslog на удаленный сервер в /etc/nginx/nginx.conf:
#access_log /var/log/nginx/access.log main;
access_log syslog:server=[10.1.2.3],facility=local7,tag=nginx,severity=info;
Когда я перезапускаю (или запускаю) nginx с этим изменением, я получаю следующую ошибку:
[root@localhost ~]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl status nginx.service
(...)
nginx: [emerg] open() "/usr/share/nginx/syslog:server=[10.1.2.3],facility=local7,tag=nginx,severity=info" failed (13: Permission denied)
(...)
Это похоже на то, что служба не знает, как правильно анализировать свой собственный файл конфигурации, как будто IP-адрес и параметры являются частью файла, из которого он пытается читать. У кого-нибудь это работает, я упускаю что-то очевидное?
У вас старый nginx.
Logging to syslog is available since version 1.7.1. As part of our commercial subscription logging to syslog is available since version 1.5.3.
из документации: http://nginx.org/en/docs/syslog.html