Веб-сервер: Nginx и сайт
Nginx — быстрый и надёжный веб-сервер, который подойдёт как для отдачи статических сайтов, так и в роли reverse proxy перед приложением. На VDS PG19 вы полностью управляете конфигурацией.
Установка
Заголовок раздела «Установка»apt update && apt install -y nginxsystemctl enable --now nginxПроверьте статус:
systemctl status nginxОткройте в браузере http://IP_вашего_VDS — должна отобразиться стартовая страница Nginx.
Откройте порты
Заголовок раздела «Откройте порты»Если включён firewall, разрешите HTTP и HTTPS:
ufw allow 80/tcpufw allow 443/tcpПодробнее — Firewall UFW.
Корень сайта
Заголовок раздела «Корень сайта»По умолчанию файлы сайта лежат в /var/www/html. Положите туда свой index.html или содержимое сайта. Удобно перенести файлы с локальной машины — см. Перенос файлов на VDS.
Server-блок для домена
Заголовок раздела «Server-блок для домена»Создайте конфигурацию сайта в /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 -tsystemctl reload nginxПривязка домена
Заголовок раздела «Привязка домена»Чтобы сайт открывался по домену, создайте A-запись, указывающую на IP вашего VDS. Инструкция — Привязка домена. Обновление DNS может занять до нескольких часов.
SSL-сертификат
Заголовок раздела «SSL-сертификат»После того как домен указывает на сервер, подключите бесплатный HTTPS от Let’s Encrypt — см. Бесплатный SSL.
Reverse proxy на приложение
Заголовок раздела «Reverse proxy на приложение»Если у вас работает своё приложение (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;}