Nginx/ru

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

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

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


 * HTTP related modules can be enabled through the NGINX_MODULES_HTTP variable
 * Mail related modules can be enabled through the NGINX_MODULES_MAIL variable
 * Third party modules can be enabled through the NGINX_ADD_MODULES variable

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

For example, to enable the  module:

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

Проверка установки
The nginx package installs a init service script allowing administrators to stop, start, or restart the service. Run the next command to start the nginx service:

To verify that nginx is properly running, point a web browser to the http://localhost address or use a command-line web tool like :

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

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

Доступ к нескольким сайтам
It is possible to leverage the  directive to split the configuration in multiple files:

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

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

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

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

Set the timezone in the php-fpm file. Substitute the  text in the FileBox below with the appropriate timezone information:

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

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

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

Списка доступа по IP адресам
The next example shows how to allow access to a particular URL (in this case ) only to:


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

Basic authentication
nginx allows limiting access to resources by validating the user name and password:

The file can be generated using:

Поддержка TLS
It is warmly suggested to support only TLS and disable known insecure ciphers.

The ebuild provides stock self signed certificates in

Forward secrecy
The diffie-hellman certificate can be created using :

Сторонние модули
Download third party module source and move it to. Manually compile the selected Nginx module, then add the following line to :

Rebuild nginx with the third party module enabled:

OpenRC
Запуск nginx:

Остановка nginx:

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

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

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

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

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

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

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

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

 * Apache - The most popular HTTP server used the Internet.
 * Lighttpd - A fast, lightweight web server.

Ссылки

 * http://nginx.org/en/docs/beginners_guide.html - A beginner's guide. Helpful for those who do not know much about.
 * http://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.