Установка и настройка 18.06.2026 14 просмотров

Nginx: настройка веб-сервера на Linux — пошаговый гайд

#nginx #linux #ubuntu #веб-сервер #ssl
Nginx: настройка веб-сервера на Linux — пошаговый гайд
Полное руководство по установке и настройке Nginx на Ubuntu/Linux: конфиги, reverse proxy, SSL.

Nginx — самый популярный веб-сервер для Linux. Установка настройка сервера Linux через Nginx даёт надёжную основу для любого проекта. Он быстрее Apache при высоких нагрузках, используется как reverse proxy перед Node.js/Python-приложениями и как SSL-терминатор. В этом гайде — полная установка и настройка сервера Linux с Nginx.

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

Настройка веб сервера Linux начинается с установки Nginx. Настройка сервера Linux Ubuntu:

sudo apt update
sudo apt install -y nginx

# Проверить статус
sudo systemctl status nginx

# Автозапуск
sudo systemctl enable nginx

После установки откройте браузер и перейдите по IP сервера — увидите страницу «Welcome to nginx!». Nginx запущен.

Структура конфигурации Nginx

Основные директории:

/etc/nginx/nginx.conf          # главный конфиг
/etc/nginx/sites-available/    # доступные конфиги сайтов
/etc/nginx/sites-enabled/      # включённые (симлинки)
/var/log/nginx/access.log      # лог доступа
/var/log/nginx/error.log       # лог ошибок
/var/www/html/                 # дефолтная директория сайта

Создание виртуального хоста (server block)

Каждый сайт — отдельный файл в sites-available:

sudo nano /etc/nginx/sites-available/mysite.ru
server {
    listen 80;
    server_name mysite.ru www.mysite.ru;
    root /var/www/mysite;
    index index.html;

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

    # Логи
    access_log /var/log/nginx/mysite.access.log;
    error_log /var/log/nginx/mysite.error.log;
}
# Включить сайт
sudo ln -s /etc/nginx/sites-available/mysite.ru /etc/nginx/sites-enabled/
sudo nginx -t      # проверить синтаксис
sudo systemctl reload nginx

Nginx как reverse proxy для n8n / Node.js

Основное применение при настройке веб сервера Linux — reverse proxy:

server {
    listen 80;
    server_name n8n.mysite.ru;

    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_read_timeout 3600s;
    }
}

SSL через Let's Encrypt (Certbot)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d mysite.ru -d www.mysite.ru
# Следуйте инструкциям
sudo certbot renew --dry-run  # проверить автообновление

Настройка SSH сервера Linux

Безопасная настройка SSH сервера Linux — важная часть hardening сервера:

sudo nano /etc/ssh/sshd_config
# Рекомендуемые настройки безопасности
PermitRootLogin no          # запретить вход от root
PasswordAuthentication no   # только ключи SSH
Port 2222                   # нестандартный порт
MaxAuthTries 3
sudo systemctl restart sshd

Настройка NTP сервера Linux

Настройка NTP сервера Linux — синхронизация времени, критична для SSL-сертификатов и логов:

sudo apt install -y ntp
sudo systemctl enable --now ntp
timedatectl status  # проверить

Для Ubuntu 20.04+ используется systemd-timesyncd (встроен). Проверить: timedatectl show.

Настройка NFS сервера Linux

Настройка NFS сервера Linux для общего доступа к файлам в сети:

sudo apt install -y nfs-kernel-server
sudo mkdir -p /srv/nfs/shared
echo "/srv/nfs/shared 192.168.1.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Настройка Samba сервера Linux

Настройка Samba сервера Linux — общий доступ к файлам для Windows-клиентов:

sudo apt install -y samba
sudo nano /etc/samba/smb.conf
# Добавить секцию [shared]:
# [shared]
#   path = /srv/samba/shared
#   browsable = yes
#   read only = no
sudo systemctl restart smbd

Настройка бэкап сервера Linux

Настройка бэкап сервера Linux через rsync + cron — простейший подход:

# Бэкап данных n8n каждую ночь в 2:00
0 2 * * * rsync -avz /var/lib/docker/volumes/n8n_data/ backup@backup-server:/backups/n8n/

Для полных бэкапов системы — используйте Timeshift (Ubuntu) или Bacula для корпоративных решений.

Полезные команды Nginx

sudo nginx -t                  # проверить конфиг
sudo systemctl reload nginx    # применить изменения
sudo systemctl restart nginx   # полный перезапуск
sudo tail -f /var/log/nginx/error.log  # смотреть ошибки в реальном времени

Настройка Nginx для n8n с SSL — в статье n8n HTTPS через Nginx.

Полезные материалы по теме

Похожие темы:
Другие категории: