15  /  16

Конфигурация Nginx

Nginx

NGINX — это высокопроизводительный сервер, который реализует функции прокси для веб-серверов и почтовых серверов и потребляет очень мало системных ресурсов. 

Официальная документация, + неплохая книга

Apache и Nginx не живут на одном сервере так как оба выполняют схожие функции, для того чтоб не было конфликтов, остановим службу (только в том случаи если он запущен):

sudo systemctl stop apache2

Далее, замаскируем службу и защитим от случайного запуска:

sudo systemctl mask apache2

Конфигурация Nginx

Установка необходимых пакетов:

sudo apt install nginx -y

если произошла ошибка при установки, значит нужно просто добавить рабочий репозиторий, я использую:

deb http://http.us.debian.org/debian/ bullseye main contrib non-free

Статус службы можно посмотреть с помощью команды:

systemctl status nginx.service 

1) Создадим директорию для домена:

sudo mkdir /var/www/uzbekistan

2) В созданной директории создадим index.html файл с наполнением:

<html>
    <body bgcolor='#005555' text='yellow'>
         <H1 align="center"> Web server for UZBEKISTAN
         <H2 align="center"> Web server for UZBEKISTAN
         <H3 align="center"> Web server for UZBEKISTAN
         <H4 align="center"> Web server for UZBEKISTAN
         <H5 align="center"> Web server for UZBEKISTAN
         <H6 align="center"> Web server for UZBEKISTAN
    </body>
 </html>

3) Создадим конфигурационный файл uzbekistan в директории /etc/nginx/sites-available/ с наполнением:

server {
        listen 80;
        server_name uzbekistan.vcom;
        root  /var/www/uzbekistan/;
        location / {
                   }
        }

4) Создадим мягкую ссылку на файл из директории sites-available в директорию sites-enabled:

sudo ln -s /etc/nginx/sites-available/uzbekistan /etc/nginx/sites-enabled/ 

5) Когда nginx запущен, им можно управлять, вызывая исполняемый файл с параметром -s, перечитаем конфигурационный файл:

sudo nginx -s reload
  • nginx — запуск
  • nginx -s reload — перечитать конфиг
  • nginx -s stop — Быстрое завершение
  • nginx -s quir — плавное завершение
  • nginx -s reopen — переоткрытие лог-файлов

location — перехватчик запросов

  • совпадения префикса ( url: /tash /tashkent /tashentik )
server {
        listen       80 ;
        server_nameuzbekistanvcom;
        root         /var/www/uzbekistan/;
        location /tash {
		         return 200 'Hello from tash location block';
                        }
        }
  • метод полное совпадения
server {
        listen       80 ;
        server_nameuzbekistanvcom;
        root         /var/www/uzbekistan/;
        location = /tash {
		         return 200 'Hello from tash location block';
                        }
        }


  • метод с регулярными выражениями
server {
        listen       80 ;
        server_nameuzbekistanvcom;
        root         /var/www/uzbekistan/;
        location ~ /tash {
		         return 200 'Hello from tash location block';
                        }
        }


  • прокси метод
server {
      listen 80 ;
      server_name search.vcom;
      location / {
                  proxy_pass http://www.yahoo.com;
                  }
        }