Re: nginx-1.6.2 Ошибочный синтаксис в конфигурации
Валентин Бартенев
vbart at nginx.com
Wed Oct 8 08:44:40 UTC 2014
On Wednesday 08 October 2014 04:35:23 vvmluxsite wrote:
> server (
> ...
> index index.html
> include include.conf;
> ....
> }
>
> Результат:
>
> Performing sanity check on nginx configuration:
> nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
> nginx: configuration file /usr/local/etc/nginx/nginx.conf test is
> successful
Ничего удивительного. Вы пропустили точку с запятой
в результате чего "include" и "include.conf" были
интерпретированы как значения директивы index.
С точки зрения синтаксиса директивы index значения
валидны.
>
>
> Вместо индекса другая директива, например:
> server (
> ...
> error_log /var/log/nginx/error_qqq.log
> include include.conf;
> ....
> }
> даёт такой результат:
>
> Performing sanity check on nginx configuration:
> nginx: [emerg] invalid log level "include" in
> /usr/local/etc/nginx/vhosts/sites-enabled/sites.conf:15
>
В директиве error_log вторым параметром, если задан,
должен задаваться уровень логгирования, который
может принимать только одно из следующих значений:
debug, info, notice, warn, error, crit, alert и emerg.
Значение "include" не является корректным уровнем
логгирования.
См. документацию:
http://nginx.org/r/error_log/ru
>
> Теперь error_log после индекса:
> server (
> ...
> index index.html
> error_log /var/log/nginx/error_qqq.log
> include include.conf;
> ....
> }
> Получается:
>
> Performing sanity check on nginx configuration:
> nginx: [warn] only the last index in "index" directive should be absolute in
> /usr/local/etc/nginx/vhosts/sites-enabled/sites.conf:15
> nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
> nginx: configuration file /usr/local/etc/nginx/nginx.conf test is
> successful
Опять же, из-за пропущенных точек запятой все это
интерпретируется как значения директивы index, а именно
пять значений:
1. index.html
2. error_log
3. /var/log/nginx/error_qqq.log
4. include
5. include.conf
>
>
> Просто "f":
> server (
> ...
> index index.html
> # error_log /var/log/srv_www/nginx/error_qqq.log
> f
> include include.conf;
> ....
> }
> Такой результат:
>
> Performing sanity check on nginx configuration:
> nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
> nginx: configuration file /usr/local/etc/nginx/nginx.conf test is
> successful
>
> Если включить "error_log" из последнего примера:
> Performing sanity check on nginx configuration:
> nginx: [warn] only the last index in "index" directive should be absolute in
> /usr/local/etc/nginx/vhosts/sites-enabled/sites.conf:16
> nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
> nginx: configuration file /usr/local/etc/nginx/nginx.conf test is
> successful
>
> Тут 16-я строка: include include.conf;
>
Аналогично. Будьте внимательны.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru