Nginx/ru

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

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

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


 * Модули HTTP включаются через переменную NGINX_MODULES_HTTP
 * Почтовые модули включаются через переменную NGINX_MODULES_MAIL
 * Дополнительные модули включаются через переменную NGINX_ADD_MODULES

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

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

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

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

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

Пакет nginx включает в себя init-сценарий, позволяющий останавливать, запуска и перезапускать службу веб-сервера. Для запуска службы 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 - быстрый, легковесный веб-сервер.

Ссылки

 * https://nginx.org/en/docs/beginners_guide.html - A beginner's guide. Helpful for those who do not know much about.
 * https://nginx.com/resources/admin-guide/ - The administration guide. Helpful for web administrators who have been working in the field.
 * http://wiki.nginx.org/Main - The nginx wiki.
 * https://github.com/h5bp/server-configs-nginx - H5BP nginx config.