Skip to content

Instantly share code, notes, and snippets.

@nalakawula
Forked from webislife/vuessr.nginx.conf
Created February 2, 2021 03:46
Show Gist options
  • Save nalakawula/0fdd8d94360822a2bca4ccc236b9f8cf to your computer and use it in GitHub Desktop.
Save nalakawula/0fdd8d94360822a2bca4ccc236b9f8cf to your computer and use it in GitHub Desktop.
example nginx config for vue ssr
#GREEN
upstream NODE_SSR_GREEN { server 127.0.0.1:8080; }
upstream NODE_SSR_BLUE { server 127.0.0.1:8082; }
#Основной сервер
server {
set $ACTIVE_SSR NODE_SSR_GREEN;
set $APP_ROOT /var/www/app-GREEN/dist;
server_name vue.ssr;
listen 80;
#Отключаем основной лог для экономии дисковых операций
# access_log /Users/d.strokov/www/vue-ssr/logs/access.log;
access_log off;
#Возможно стоит логгировать только критические ошибки. т.к. тут только статика
error_log /vue-ssr/logs/error.log;
# Будет кешировать информацию о тех файлах, которые были использованы хотя бы 5раз
open_file_cache_min_uses 5;
#Кушируем информацию о 404 файлах
open_file_cache_errors on;
sendfile on;
#Позволяем ngnix отправлять заголовки в одном пакете после получения данных sendfile
tcp_nopush on;
#Включаем GZIP
gzip on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
#Уменьшим ожидание перед закрытием соединения и макс keepalive запросов от 1 клиента
keepalive_timeout 10;
keepalive_requests 50;
#Сбрасываем соединения с подвисшими клиентами клиентами
reset_timedout_connection on;
#10 сек на ожидание тела запроса от клиента
client_body_timeout 10;
#Сбрасываем соединение спустя секунду после обрыва чтения запроса
send_timeout 1;
#Проксируем запросы на рендер к node_frontend
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://$ACTIVE_SSR;
proxy_redirect off;
}
#Статичные файлы раздаем через ngnix
location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|svg)$ {
root $APP_ROOT;
#Не будем писать access_log для статичных файлов
access_log off;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment