Nginx
Проверка и перезагрузка конфига, логи, reverse proxy, HTTPS с Let's Encrypt.
Управление
Проверить конфиг
sudo nginx -tПрименить конфиг без простоя
sudo nginx -t && sudo systemctl reload nginxПоказать итоговый конфиг целикомпродвинутая
sudo nginx -TВерсия и параметры сборки
nginx -VЛоги
Access-лог в реальном времени
sudo tail -f /var/log/nginx/access.logError-лог в реальном времени
sudo tail -f /var/log/nginx/error.logКоличество ответов по кодампродвинутая
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rnСамые запрашиваемые URLпродвинутая
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20Сайты
Включить сайт (схема Debian/Ubuntu)
sudo ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/
Reverse proxy на приложениепродвинутая
server { listen 80; server_name <domain>; location / { proxy_pass http://127.0.0.1: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; } }
Проксирование WebSocketпродвинутая
location /ws/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}Редирект с HTTP на HTTPSпродвинутая
server { listen 80; server_name <domain>; return 301 https://$host$request_uri; }
HTTPS (Let's Encrypt)
Получить сертификат и настроить nginx
sudo certbot --nginx -d <domain>
Проверить продление сертификата
sudo certbot renew --dry-runСписок сертификатов и сроки действия
sudo certbot certificates