На каком языке находятся файлы nginx conf?

Я хочу написать несколько более сложных условий в моих файлах конфигурации Nginx, но я не уверен в синтаксисе и не могу найти документы, описывающие, что вы можете сделать за пределами основ в примерах, и я не могу найти это на форумах Nginx или в списке рассылки.

например, возможно ли для меня иметь unless состоянии?

3 ответов


Итак, я новичок в nginx, и у меня был тот же вопрос. Оказывается, синтаксис языка, как упоминалось выше, является как пользовательским, так и на самом деле довольно простым. Синтаксис захвачен в разделе в документах NGINX и повторяется здесь для удобства:

nginx состоит из модулей, которые управляются директивами указано в файле конфигурации. Директивы подразделяются на простые директивы и директивы блока. Простая директива состоит из имя и параметры, разделенные пробелами и заканчивающиеся точкой с запятой (;). Блочная директива устроена так же, как и простая директива, но вместо точки с запятой после набора дополнительных инструкции, окруженные фигурными скобками ({ и }). Если директива block может есть другие директивы внутри фигурных скобок, это называется контекстом (примеры: события, http, сервер и местоположение).

директивы, помещенные в файл конфигурации вне любых контекстов считаются в основном контексте. События и http директивы находятся в основном контексте, сервере в http и расположении в сервер.

остальная часть строки после знака # считается комментарием.

в итоге: все в конфигурационном файле NGINX является директива который может ссылаться на переменная. Все директивы в алфавитном порядке здесь и все переменные перечислены в алфавитном порядке здесь. Конфигурация NGINX управляется модули что каждый реализует определенную часть функциональности, и каждый модуль вклад директивы и переменные, которые становятся доступными для использования в конфиге. Вот и все.

вот почему даже if -- который выглядит как ключевое слово, как в традиционном языке программирования -- на самом деле просто директива предоставило ngx_http_rewrite_module модуль.

надеюсь, что это помогает!

PS - также проверитьhttps://devdocs.io/, и в частности https://devdocs.io/nginx, для много улучшен поиск и использование документации.


файлы nginx conf пишутся на их собственном языке или синтаксисе. Я включил некоторые основы ниже. Это мои личные заметки, взятые из Освоение Nginx

основной формат

основной файл разбит на разделы

:

<section> {

  <directive> <parameters>; 

}

Глобальные параметры

Не определен в стандарте описано выше формат, он не имеет {} категории общий раздел. Он помещается в верхней части конфигурации файл

важные глобальные параметры

user-пользователь и группа, которые запускаются рабочими процессами. Если группа опущена, это равно тому, что пользователь использовал

worker_processes - количество запущенных рабочих процессов. Они обрабатывают соединения от клиентов. как правило, для CPU-связанных нагрузок это должно равняться количеству процессоров, а для I / O-связанных нагрузок-1,5 или 2

error_log-расположение error_logs. быть перезаписанным в директивах. Второй парам указывает уровень отладки журнала (доступен только при настройке мод отладки при компиляции), info, notice, warn, error, crit, alert и emerg.

pid-файл, в котором записан идентификатор основного процесса, перезаписывающий скомпилированный по умолчанию.

worker_connections-настраивает максимальное количество одновременных подключений, которые может иметь открытый рабочий процесс. Особенно важно на обратных прокси-серверах - может потребоваться дополнительная настройка уровень operatingsystem для достижения этого количества одновременных соединений.

использование include files может использоваться в любом месте файла конфигурации

включить /opt/local/etc/nginx / mime.типы;

в пути может появиться подстановочный знак, соответствующий нескольким файлам: включить /opt / local/etc/nginx/vhost/*.conf;

файл конфигурации можно легко проверить, вызвав NGINX следующим образом: nginx-t-c

раздел Http будет наиболее часто используемым разделом.


файлы конфигурации Nginx написаны на языке (если вы хотите его назвать), который был разработан и реализован для файлов конфигурации Nginx. Скорее всего, документация является единственной доступной ссылкой за пределами самого источника. Я бы начал с публикации сообщения на одном из форумы Nginx или присоединения к список рассылки Nginx и там поспрашивать. Конечно, вы также можете захватить источник и начать там.

удачи.