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

These variables need to be set in. Their descriptions can be found in and.

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

The above will overwrite the default value of NGINX_MODULES_HTTP and set it to. To enable the  module without overwriting the default NGINX_MODULES_HTTP value, the following USE flag notation can be specified in :

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

Проверка установки
The default nginx configuration defines a virtual server with the root directory set to. However due to, the nginx ebuild will only create the directory and without an index file. To have a working default configuration, create the directory and and simple index file:

Пакет 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.