Перейти к содержимому

Веб-сервер: Nginx и сайт

Nginx — быстрый и надёжный веб-сервер, который подойдёт как для отдачи статических сайтов, так и в роли reverse proxy перед приложением. На VDS PG19 вы полностью управляете конфигурацией.

Окно терминала
apt update && apt install -y nginx
systemctl enable --now nginx

Проверьте статус:

Окно терминала
systemctl status nginx

Откройте в браузере http://IP_вашего_VDS — должна отобразиться стартовая страница Nginx.

Если включён firewall, разрешите HTTP и HTTPS:

Окно терминала
ufw allow 80/tcp
ufw allow 443/tcp

Подробнее — Firewall UFW.

По умолчанию файлы сайта лежат в /var/www/html. Положите туда свой index.html или содержимое сайта. Удобно перенести файлы с локальной машины — см. Перенос файлов на VDS.

Создайте конфигурацию сайта в /etc/nginx/sites-available/example.ru:

server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

Активируйте сайт символической ссылкой и проверьте синтаксис:

Окно терминала
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

Чтобы сайт открывался по домену, создайте A-запись, указывающую на IP вашего VDS. Инструкция — Привязка домена. Обновление DNS может занять до нескольких часов.

После того как домен указывает на сервер, подключите бесплатный HTTPS от Let’s Encrypt — см. Бесплатный SSL.

Если у вас работает своё приложение (Node.js, Python и т. п.) на локальном порту, Nginx может проксировать на него запросы. Замените блок location на:

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;
}