Вернуться назад

Как установить и настроить сервер Nginx

В чем суть работы веб-сервера?

Веб-сервер — ПО, которое принимает HTTP-запросы от клиентов (обычно браузеров) и отвечает на них, предоставляя HTML-страницы, изображения, видео и другие файлы. Серверы позволяют пользователям взаимодействовать с сайтами и приложениями.

Что такое Nginx?

Nginx  — производительный легковесный сервер, который создан для обработки большого количества одновременных соединений с минимальной нагрузкой на ресурсы системы. Схематично механизм его работы можно описать так:

  1. Nginx принимает входящие HTTP-запросы от клиентов. Когда пользователь вводит URL-адрес в браузере и нажимает Enter, запрос отправляется на сервер, где работает Nginx.

  2. Nginx анализирует запрос и решает, как его обработать. Это может быть запрос на статический контент (например, HTML-файл или изображение) или на динамический, который нужно получить от серверного приложения.

  3. После обработки запроса Nginx отправляет ответ обратно. Для статического контента это может быть файл, находящийся на сервере, для динамического — результат выполнения серверного скрипта или программы.

  4. Если Nginx работает в режиме обратного прокси-сервера или балансировщика нагрузки, то распределяет входящие запросы между несколькими серверами приложений, чтобы обеспечить равномерную загрузку и повысить отказоустойчивость.


Функционал Nginx

Давайте посмотрим на богатые возможности сервера:

  • Nginx может обслуживать статические файлы (HTML, CSS, JavaScript, изображения и т.д.) с минимальными задержками.

  • Nginx может принимать запросы от клиентов и перенаправлять их на другой сервер (например, сервер приложений), улучшая производительность и безопасность.

  • Nginx распределяет входящие запросы между несколькими серверами, что помогает масштабировать приложения и обеспечивать их бесперебойную работу.

  • Nginx может кэшировать ответы от серверов приложений, снижая нагрузку на серверы и ускоряя обработку запросов.

  • Nginx поддерживает шифрование данных с помощью SSL/TLS, обеспечивая безопасность передачи данных между сервером и клиентами.

Теперь, когда вы знаете на что способен Nginx и чем он хорош, разберемся как его установить и настроить.


Как установить и настроить Nginx?

Перед установкой Nginx на Ubuntu, потребуется:

  • Доступ к серверу Ubuntu. 
  • Пользователь с правами суперпользователя (администратора). Выполнять команды для установки и настройки Nginx можно будет только от имени суперпользователя.

Шаг 1: Установка Nginx

Для начала нужно обновить список доступных программ. Для этого откройте терминал на Linux с помощью комбинации клавиш Ctrl + Alt + T.

В открывшемся терминале введите следующую команду и нажмите клавишу Enter:

sudo apt update

Эта команда позволяет узнать о последних версиях программ.

Установка Nginx

После обновления списка пакетов можно установить Nginx. В терминале введите следующую команду и нажмите клавишу Enter:

sudo apt install nginx

Команда apt install сообщает Ubuntu, что хотите установить программу, указанную после нее. В нашем случае — Nginx.


Шаг 2: Запуск и проверка статуса Nginx

После установки Nginx нужно запустить его, чтобы он начал обслуживать страницы сайтов. В терминале введите эту команду и нажмите клавишу Enter:

sudo systemctl start nginx

Эта команда говорит Ubuntu начать запуск сервиса Nginx.

 Чтобы убедиться, что Nginx запущен и работает правильно, выполните:

sudo systemctl status nginx

Эта команда покажет текущее состояние сервиса Nginx.


Шаг 3: Настройка файрвола (если используется UFW)

Если на сервере включен файрвол UFW, то нужно разрешить трафик для Nginx, чтобы он мог принимать запросы от клиентов. В терминале введите следующую команду и нажмите клавишу Enter:

sudo ufw allow 'Nginx Full'

Эта команда разрешает весь трафик, связанный с Nginx, включая HTTP (порт 80) и HTTPS (порт 443).


Шаг 4: Основная настройка

Основной файл конфигурации Nginx находится в:

/etc/nginx/nginx.conf

Здесь можете настроить базовые параметры работы Nginx, такие как количество рабочих процессов, настройки безопасности и другие.

Для настройки сайтов или виртуальных хостов используются файлы конфигурации, расположенные в:

/etc/nginx/sites-available/

После создания конфигурации сайта нужно создать символьную ссылку на нее в директорию /etc/nginx/sites-enabled/

Пример конфигурации для сайта

Приведенный ниже код — пример конфигурации для веб-сайта. Он определяет, как Nginx должен обрабатывать запросы к вашему сайту.

server {

    listen 80;

    server_name example.com www.example.com;

    location / {

        proxy_pass http://localhost:3000;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto $scheme;

    }

}

Этот код определяет конфигурацию сервера для сайта. Давайте разберем, что он делает:

listen 80; 

Указывает Nginx слушать запросы на порту 80, который является стандартным портом для HTTP.

server_name example.com www.example.com; 

Определяет, какие имена хостов должны обрабатываться этим сервером. В данном случае, сервер обрабатывает запросы для домена example.com и его поддомена www.example.com.

location / { ... } 

Определяет, как Nginx должен обрабатывать запросы к корневому URL-адресу (т.е. /). В этом примере, все запросы к корневому URL-адресу перенаправляются на другой сервер, работающий на http://localhost:3000.

proxy_pass http://localhost:3000

Указывает Nginx перенаправить запросы на указанный URL-адрес. В данном случае, запросы перенаправляются на http://localhost:3000.

proxy_set_header 

Устанавливает значения заголовков запроса, которые будут переданы вместе с запросом к другому серверу.

Можете настроить конфигурацию в соответствии с требованиями вашего сайта.


Шаг 5: Перезагрузка Nginx для применения изменений

После внесения изменений в конфигурацию Nginx, необходимо перезагрузить его, чтобы изменения вступили в силу. Для этого в терминале введите следующую команду и нажмите клавишу Enter:

sudo systemctl reload nginx

 Это перезапустит Nginx с новыми настройками.


Теперь вы знаете как установить и настроить Nginx на Ubuntu, чтобы он мог обслуживать сайты или приложения.  С помощью этого сервера вы можете создавать стабильные проекты и радовать посетителей контентом. 

 

0 Комментариев