Как установить Nginx на Ubuntu 20/22/24

Nginx — это самый распространенный веб-сервер, который можно использовать также как прокси или почтовый сервер.

В этой статье мы пошагово разберем установку на Ubuntu

Установка Nginx

В первую очередь, если у вас этого ещё не сделано, стоит обновить пакеты:

sudo apt update

После установить Nginx из официального репозитория:

sudo apt install nginx

Добавляем в автозагрузку:

sudo systemctl enable nginx

И проверяем, что сервис запущен:

sudo systemctl status nginx

В ответ на это мы должны увидеть Active

systemctl status nginx

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

Стартовая страница nginx

Если сайт не загружается, то проверьте, открыт ли порт 80 на вашей машине. Если вы до этого ничего не настраивали, то у хостера может быть свой собственный фаервол, и добавить порт в исключения надо в нём

Настройка фаервола

Это не обязательный для работы пункт, но крайне желательный, чтобы обезопасить сервер от атак извне.

Скачиваем улититу UFW:

sudo apt install ufw

Разрешаем подключение по SSH:

ufw allow SSH

Разрешаем стандартные порты (80 для подключения по http, 443 для дальнейшей настройки на https):

ufw allow 80
ufw allow 443

Можно запускать фаервол:

ufw enable

Теперь можно посмотреть какие правила активны:

ufw status
ufw status

Настройка виртуальных хостов Nginx

На один сервер можно повесить сразу несколько доменов, но даже если у вас будет всего один, требуется настроить для него отдельный виртуальный хост, в первую очередь создадим директорию, в которой будут храниться файлы сайта, располагаться они должны в /var/www:

sudo mkdir -p /var/www/YOUR.SITE/html

И для теста создайте небольшой файл:

sudo nano /var/www/YOUR.SITE/html/index.html
<!DOCTYPE html>
<html lang="ru">
<head>
    <title>YOUR.SITE</title>
    <meta charset="utf-8">
</head>
<body>
    <h1>Site work!!!</h1>
</body>
</html>

Сохраняем, следующим шагом необходимо создать сам виртуальный хост, они должны храниться в /etc/nginx/sites-available/:

sudo nano /etc/nginx/sites-available/YOUR.SITE.conf
server {
    listen 80;
    listen [::]:80;

    server_name YOUR.SITE www.YOUR.SITE;
    root /var/www/YOUR.SITE/html;
    index index.html;
}
  • listen 80 — прослушивание 80 порта
  • server_name — указываем, что работаем с доменом YOUR.SITE
  • root — директория, в которой расположены файлы сайта
  • index — файл, который будет первым загружен при заходе на сайт, можно указать несколько через пробел, загрузится первый существующий

Осталось разве что активировать сайт, для этого создайте ссылку в директории /etc/nginx/sites-enabled/ на созданную конфигурацию:

sudo ln -s /etc/nginx/sites-available/YOUR.SITE.conf /etc/nginx/sites-enabled/

Проверьте, что всё настроено правильно:

sudo nginx -t
sudo nginx -t

Если ошибок не выдало, то удалите дефолтный конфиг:

sudo rm /etc/nginx/sites-enabled/default

Перезагрузите Nginx:

sudo systemctl restart nginx

Теперь осталось зайти на сайт по домену и проверить что всё работает

Заключение

Мы базово настроили Nginx на ubuntu, следующим шагом идёт установка SSL сертификата и создание редиректа с HTTP на HTTPS, также вам может быть интересна установка WordPress на Nginx.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *