Nginx/ru

nginx - это надежный, маленький и очень производительный веб сервер и обратный прокси сервер. Это хорошая альтернатива популярным веб серверам, таким как Apache и lighttpd.

Установка
Перед непосредственной установкой пакета, сначала будет неплохо взглянуть на USE-флаги для Nginx.

Дополнительные USE-флаги
Nginx использует модули с целью расширить свои возможности. Для более простого сопровождения такого модульного подхода, ebuild для nginx поддерживает расширенные USE ( USE_EXPAND ) флаги для обозначения нужных компонентов.


 * HTTP модули могут быть включены через переменную NGINX_MODULES_HTTP
 * Mail модули могут быть включены через переменную NGINX_MODULES_MAIL
 * Дополнительные модули могут быть включены через переменную NGINX_ADD_MODULES

Эти переменные необходимо настроить в. Их описание можно найти в и.

Например, для включения модуля :

Вышеописанное перезатирает стандартное значение NGINX_MODULES_HTTP установкой значения. Для включения модуля  без затирания значения NGINX_MODULES_HTTP, следующая нотация может быть определена в :

Emerge
После настройки USE-флагов установите :

Проверка установки
Стандартная конфигурация nginx определяет виртуальный сервер с корневой директорией в. Однако в связи с, ebuild nginx'а только создает директорию без файла-индекса. Для получения рабочей стандартной конфигурации, создайте директорию и простой файл-индекс:

Пакет nginx включает в себя скрипты для остановки, запуска и перезапуска службы веб-сервера. Для запуска nginx сервиса запустите следующую команду:

Чтобы проверить, что nginx запущен должным образом, в вашем веб-браузере перейдите на http://localhost, либо используйте один из веб-клиентов для командной строки (например, ):

Конфигурация
Конфигурация nginx находится в файле.

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

Доступ к нескольким сайтам
Через директиву  возможно использовать конфигурации из разных файлов:

Поддержка PHP
Добавьте следующие строки в конфигурацию nginx для включения поддержки PHP. В данном примере nginx обменивается информацией с процессом PHP через UNIX-сокет.

Для поддержки такой настройки, PHP нужно собрать с поддержкой менеджера процессов FastCGI, включив USE-флаг :

Пересоберите PHP с включенным  USE-флагом:

Просмотрите конфигурацию в файле и добавьте следующую строку:

Установите часовой пояс в php-frm (файл ). Замените  на подходящее значение:

Запуск демона :

Добавьте к уровню запуска по умолчанию:

Перезагрузите с измененной конфигурацией:

Список доступа по IP-адресам
Следующий пример демонстрирует получение доступа по конкретному URL (в данном случае ):


 * конкретные хосты (например 192.0.2.1 127.0.0.1)
 * и IP сети (например 198.51.100.0/24)

Базовая аутентификация
nginx может ограничить доступ к ресурсам с помощью проверки имя пользователя и пароля:

Файл может быть сгенерирован следующим образом:

Поддержка TLS
Это предложено для поддержки только TLS и исключения известных небезопасных шифров.

ebuild включает в себя набор самозаверенных сертификатов в

Передовая приватность

Сертификат по протоколу Диффи-Хеллмана может быть создан при помощи :

Сторонние модули
Загрузите исходные тексты сторонних модулей и поместите их в каталог. Вручную скомпилируйте выбранные Nginx-модули, после чего добавьте соответствующие строки в :

Пересоберите nginx с поддержкой сторонних модулей:

Использование
Управление службой

OpenRC
Запуск nginx:

Остановка nginx:

Добавление nginx в уровень запуска по умолчанию:

Перезапуск nginx сервиса:

Устранение проблем
В случае проблем следующие команды могут помочь найти ошибки.

Проверка конфигурации
Проверьте, что запущенная конфигурация nginx не содержит ошибок.

Запустив с опцией , он проверит синтаксис файла конфигурации без самого старта демона.

Проверка запущенных процессов
Проверьте, запущены ли процессы :

Проверьте адрес привязки и порты
Проверьте, что демон nginx прослушивает правильный TCP порт (например, 80 для HTTP или 443 для HTTPS):

Смотрите также

 * Apache - Самый популярный HTTP сервер в сети Интернет.
 * Lighttpd - Быстрый, легковесный веб-сервер.

Ссылки

 * http://nginx.org/en/docs/beginners_guide.html - Гайд по для новичков. Весьма полезен для тех, кто мало что знает о.
 * http://nginx.com/resources/admin-guide/ - Продвинутый гайд по . Информативен для сетевых администраторов, работающих «в поле».
 * http://wiki.nginx.org/Main - nginx вики.
 * https://github.com/h5bp/server-configs-nginx - H5BP конфигурации для nginx.