Гайд по настройке Nginx как обратного прокси для Node.js приложения
Хочу поделиться своим опытом настройки Nginx для нашего нового проекта на Node.js. Раньше мы использовали что-то попроще, но с ростом нагрузки пришлось задуматься о более надежном решении, и Nginx тут как тут.
- Установка Nginx: Начните с установки Nginx на вашем VPS. Обычно это делается командой `sudo apt update && sudo apt install nginx`.
- Конфигурация виртуального хоста: Создайте новый файл конфигурации для вашего приложения, например, `/etc/nginx/sites-available/myapp`. В этом файле пропишите основные директивы.
Вот пример базовой конфигурации:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Важные моменты:
- `proxy_pass http://localhost:3000;`: Здесь мы указываем, куда Nginx будет перенаправлять запросы. Если ваше Node.js приложение слушает другой порт, замените 3000 на нужный.
- SSL/TLS: Для продакшена обязательно настройте SSL-сертификат. Это можно сделать с помощью Let's Encrypt.
- Кэширование: Nginx отлично справляется с кэшированием статического контента, что снизит нагрузку на ваше приложение.
Мониторинг: Не забывайте следить за логами Nginx (`/var/log/nginx/access.log` и `error.log`) и процессом вашего Node.js приложения. Можно использовать системы мониторинга типа Zabbix или Prometheus.
Этот подход помог нам не только повысить стабильность, но и увеличить скорость ответа нашего сервиса. Надеюсь, кому-то пригодится!