Обновите установку 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.
Запись в системный журнал доступна с версии 1.7.1. В рамках нашей коммерческой подписки ведение журнала в syslog доступно с версии 1.5.3.
из документации: http://nginx.org/en/docs/syslog.html