Блог компании 3v-Hosting

Как установить Nginx на Ubuntu 22.04

Администрирование

6 мин.


Nginx (произносится как «engine-x») - это мощный и высокопроизводительный веб-сервер. Он используется для обслуживания статического и динамического веб-контента, выступает в качестве обратного прокси и управляет балансировкой нагрузки. Легкая архитектура и богатый набор функций делают его популярным выбором для разработчиков, системных администраторов и хостинг-провайдеров. В этой статье вы найдете подробное руководство по установке Nginx на Ubuntu 22.04, включая основные конфигурации, советы по устранению неполадок и практические примеры использования.

 

 

 

Что такое Nginx и сферы его применения

 

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

    - Веб-сервер для размещения веб-сайтов и обслуживания статических файлов.
    - Обратный прокси-сервер для маршрутизации клиентских запросов к внутренним серверам.
    - Балансировщик нагрузки для распределения трафика между несколькими серверами.
    - Кэширующий сервер для повышения производительности сайта.

Модульная архитектура Nginx позволяет администраторам беспрепятственно включать такие функции, как HTTP/2, шифрование SSL/TLS и сжатие контента. Это делает его краеугольным камнем веб-инфраструктуры.

 

 

 

 

Подготовка системы к установке Nginx

 

1. Обновление индекса пакетов

Перед установкой любого программного обеспечения убедитесь, что индекс пакетов вашей системы обновлен. Используйте следующие команды для обновления и модернизации системы:

    sudo apt update
    sudo apt upgrade -y

Обновление индекса пакетов гарантирует, что вы получите последнюю версию Nginx, доступную в репозитории Ubuntu.


2. Установка предварительных условий

Убедитесь, что curl, wget и другие базовые инструменты доступны в вашей системе для проверки конфигурации и тестирования Nginx после установки:

    sudo apt install curl wget -y

 

 

 


Установка Nginx на Ubuntu 22.04

 

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

Ubuntu 22.04 включает Nginx в репозитории пакетов по умолчанию. Чтобы установить Nginx, воспользуйтесь менеджером пакетов apt:

    sudo apt install nginx -y


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

    sudo systemctl status nginx

Результат должен показать, что служба запущена.


Шаг 2: Настройка параметров брандмауэра

Если вы используете стандартный UFW-брандмауэр Ubuntu, вам необходимо разрешить HTTP- и HTTPS-трафик для корректной работы Nginx. Используйте следующие команды, чтобы включить необходимые правила:

    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    sudo ufw status

Вывод статуса должен подтвердить, что трафик Nginx разрешен.

 

 

 

Проверка установки

После установки убедитесь, что Nginx настроен правильно, зайдя на IP-адрес вашего сервера в веб-браузере:

    http://your_server_ip.


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

    curl -4 icanhazip.com

 

 


 

Другие полезные статьи в нашем Блоге:


    - Настройка сети в Ubuntu 22.04

    - Как установить Node.js на Ubuntu 22.04

    - Установка и использование Docker в Ubuntu 22.04

    - Что такое LVM и как настроить LVM в Ubuntu

 


 


Настройка Nginx для веб-хостинга

 

Конфигурация Nginx по умолчанию находится в файле /etc/nginx/nginx.conf. Однако для хостинга отдельных сайтов или приложений обычно требуется создать новые файлы конфигурации в каталоге /etc/nginx/sites-available/ и включить их с помощью символических ссылок в каталоге /etc/nginx/sites-enabled/.


Создание серверного блока

Серверный блок позволяет определить конфигурацию для конкретного домена или приложения. Создайте новый файл конфигурации для вашего сайта:

    sudo nano /etc/nginx/sites-available/example.com

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

    server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/example.com/html;
        index index.html;

        location / {
            try_files $uri $uri/ =404;
        }
    }


Сохраните и выйдите из редактора. Затем создайте корневой каталог для вашего сайта и назначьте соответствующие права:

    sudo mkdir -p /var/www/example.com/html
    sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www/example.com

 

Включение блока сервера

Включите конфигурацию, создав символическую ссылку на каталог sites-enabled:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/


Проверьте конфигурацию Nginx на наличие синтаксических ошибок:

    sudo nginx -t


Если проверка прошла успешно, перезагрузите Nginx, чтобы применить изменения:

    sudo systemctl reload nginx

 

 

 

 

Включение SSL с помощью Let's Encrypt

 

Для безопасных HTTPS-соединений вы можете использовать Let's Encrypt, чтобы получить и настроить бесплатный SSL-сертификат для вашего домена. Сначала установите инструмент certbot и его плагин для Nginx:

    sudo apt install certbot python3-certbot-nginx -y


Выполните следующую команду, чтобы получить и применить SSL-сертификат:

    sudo certbot --nginx -d example.com -d www.example.com


Certbot автоматически настроит SSL для вашего домена. Проверьте процесс обновления, выполнив следующую команду:

    sudo certbot renew --dry-run

 

 

 


Устранение общих проблем

 

Служба Nginx не запускается: Проверьте журнал ошибок по адресу /var/log/nginx/error.log на наличие специфических сообщений и устраните любые синтаксические ошибки или конфликты конфигурации.

Брандмауэр блокирует трафик: Проверьте правила UFW, чтобы убедиться, что трафик HTTP и HTTPS разрешен. Используйте:

    sudo ufw status

 

Конфликты портов: Если другая служба использует порт 80 или 443, остановите или перенастройте конфликтующую службу:

    sudo lsof -i :80
    sudo kill <process_id>

 

 

 


Заключение

В этом руководстве мы рассмотрели пошаговый процесс установки, настройки и тестирования Nginx на Ubuntu 22.04. От начальной настройки до включения SSL и устранения неполадок - статья охватывает все основные аспекты развертывания Nginx в производственной среде. Следуйте этим инструкциям, чтобы создать надежный и масштабируемый веб-сервер для поддержки ваших приложений и веб-сайтов. Nginx является краеугольным камнем современного веб-хостинга благодаря простоте установки и широкому набору функций. Вне зависимости от того, разворачиваете ли вы простой статический сайт или управляете сложной инфраструктурой, освоение настройки Nginx - ценный навык как для администраторов, так и для разработчиков.