Nginx доступен в репозиториях Debian по умолчанию, что позволяет легко установить его через стандартные механизмы управления пакетами. Для этого выполните следующие шаги:
- Обновите список доступных пакетов:
- Установите Nginx:
После выполнения этих команд Nginx будет установлен на вашем сервере.
Настройка Firewall
Перед тестированием Nginx необходимо настроить программное обеспечение брандмауэра, чтобы разрешить доступ к сервису. Nginx регистрируется как служба ufw
после установки, что упрощает предоставление доступа Nginx.
Перечислите конфигурации приложения, ufw
с которыми можно работать, набрав:
Получим список :
- …
- Nginx Full
- Nginx HTTP
- Nginx HTTPS
- …
Для Nginx доступны три профиля:
- Nginx Full : профиль открывает как порт 80 (обычный незашифрованный веб-трафик), так и порт 443 (зашифрованный трафик TLS/SSL).
- Nginx HTTP : этот профиль открывает только порт 80
- Nginx HTTPS : этот профиль открывает только порт 443
Рекомендуется включить наиболее ограничительный профиль, который по-прежнему будет разрешать настроенный вами трафик. Прямо сейчас нам нужно будет разрешить трафик только на порту 80.
Вы можете включить это, набрав:
Проверим изменения:
В выводе будет указано, какой HTTP-трафик разрешен:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Проверка веб-сервера
В конце процесса установки Debian запускает Nginx. Веб-сервер уже должен быть запущен.
Проверим, что служба работает:
Output● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-06-10 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
Memory: 3.5M
CGroup: /system.slice/nginx.service
├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2380 nginx: worker process
Служба успешно запустилась. Однако лучший способ проверить это — запросить страницу у Nginx.
Введите ip адрес вашего сервера в адресную строку браузера:
http://127.0.0.1
Вы должны получить целевую страницу Nginx по умолчанию:

Если вы находитесь на этой странице, ваш сервер работает правильно и готов к дальнейшей настройке.
Структура каталогов
Cоздадим домен под названием example.ru , но вам следует заменить его своим собственным доменным именем .
В Nginx по умолчанию начальная страница, где обычно размещаются веб-сайты, находится в каталоге /var/www/html. Это хорошо работает когда один сайт, но если планируется больше сайтов, то лучше создавть структуру. Создадим структуру каталогов для нашего сайта example.ru
Создайте каталог для example.ru следующим образом:
Назначим владельца каталога
Назначим права доступа
Далее создайте index.html
страницы, используя любой редактор:
Внутри добавьте следующий образец HTML:/var/www/example.ru/html/index.html
<html>
<head>
<title>Welcome to example.ru!</title>
</head>
<body>
<h1>Success! The example.ru server block is working!</h1>
</body>
</html>
Создадим файл конфигурации: /etc/nginx/sites-available/example.ru
Вставьте следующий блок конфигурации: /etc/nginx/sites-available/example.ru
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru/html/;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Далее включим файл, создав из него символическую ссылку на каталог sites-enabled
,:
Примечание. Символические ссылки в контексте Nginx используются для упрощения управления конфигурацией и активацией/деактивацией сайтов. Когда символическая ссылка создается или удаляется, Nginx автоматически активирует или деактивирует соответствующий сайт, что делает процесс управления сайтами более гибким и удобным. Это особенно полезно при работе с большим количеством сайтов, где управление каждым сайтом по отдельности было бы трудоемко без использования символических ссылок.
Затем проверьте, нет ли синтаксических ошибок ни в одном из ваших файлов Nginx:
Если ошибок нет, вывод будет следующим:

Если проблем нет, перезапустите Nginx, чтобы изменения вступили в силу:
Теперь, у вас установлен веб-сервер Nginx. http://example.ru

Чтобы настроить HTTPS для вашего сайта с помощью бесплатного SSL сертификата , перейдите к статье « Как защитить Nginx с помощью Let’s Encrypt в Debian» .
«Wow, this guide was a lifesaver! I was having trouble installing and configuring Nginx on my Debian server and was getting really frustrated with the firewall settings and service status checks. But after following this post, I managed to get everything up and running without a hitch.
One thing I struggled with before was the firewall configuration—turns out I was allowing the wrong ports! This article made it clear what each Nginx profile did, and now everything works perfectly.
If you’re using Debian 12, I highly recommend checking out this **[Nginx Debian 12](https://docs.vultr.com/how-to-install-nginx-webserver-on-debian-12)** guide for even more specific help. It helped me with some advanced settings I wasn’t sure about, and it made the process so much smoother!
I absolutely love this article, and I’m glad I found it. Keep up the great work!»