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.