Nginx/ru

nginx is a robust, small, high performance web server and reverse proxy server. It is a good alternative to popular web servers like Apache and lighttpd.

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

Expanded USE flags
Nginx uses modules to enhance its features. To simplify the maintenance of this modular approach, the nginx ebuild uses expanded USE flags to denote which modules should be installed.


 * 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
With the USE flags set, install :

Installation verification
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).

Multiple site access
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:

Start the daemon:

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

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

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


 * certain hosts (e.g. 192.0.2.1 127.0.0.1)
 * and IP networks (e.g. 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 support
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 :

Third party modules
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
Start nginx:

Stop nginx:

Add nginx to the default runlevel:

Restart the nginx service:

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

Проверка конфигурации
Проверьте, что запущенная конфигурация 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.