АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗ndHsDmSF 47 of 47 menu

Статичные файлы домена через Nginx на VPS сервере

Для отдачи статичных файлов на NodeJS или на Express делается static-сервер. На самом деле, так делать не рекомендуется, так как это медленно работает.

Более оптимально отдавать статику через Nginx. Для этого для домена делается специальная настройка, содержащая регулярку и путь к папке со статикой. Пусть для примера в нашем домене папкой со статикой будет папка public. В этом случае мы пропишем следующие настройки:

server_name test1.com; location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ { root /var/www/test1.com/public; }

При этом не очень удобно, что имя домена мы должны написать два раза, если это имя совпадает с папкой сайта (а у нас для удобства совпадает). Проблему можно решить следующим образом:

server_name test1.com; location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ { root /var/www/$server_name/public; }

Давайте соберем все наши настройки вместе и получим следующее:

server { listen 80; server_name test1.com; location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ { root /var/www/$server_name/public; } location / { proxy_pass http://localhost:3001; 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; } }

Настройте отдачу статики для обоих тестовых сайтов. Потестируйте ее через браузер.