На каком языке находятся файлы 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 и там поспрашивать. Конечно, вы также можете захватить источник и начать там.
удачи.