Sanu0074
@Sanu0074

Как прописать несколько директорий для фронта в NGINX?

Есть такой конфиг

upstream cp_io_nodes {
    	  ip_hash;
    	  server 127.0.0.1:6001;
    	  server 127.0.0.1:6002;
    	  server 127.0.0.1:6003;
    	  server 127.0.0.1:6004;
    	  server 127.0.0.1:6005;
    	  server 127.0.0.1:6006;
    	  server 127.0.0.1:6007;
    	  server 127.0.0.1:6008;
    }
    
    server {
    	listen *:3001; ## listen for ipv4
    	server_name *.mysite.com;
    	access_log off;
    	error_log /var/log/nginx/error-mysite-node-qa.log; 
    	location / {
    		proxy_pass http://cp_io_nodes;
    		proxy_set_header Host $host;
    		proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header X-Forwarded-For $remote_addr;
    		proxy_connect_timeout 120;
    		proxy_send_timeout 120;
    		proxy_read_timeout 180;
    	}
     
    	location ~* \.(jpg|jpeg|gif|png|webp|ico|css|bmp|swf|js|html|txt|ejs)$ {
    		root /mysite_data/mysite/app/www;
    		expires max;
    	}
    
    }

Проблема в том что есть несколько субдоменов, и для каждого фронт берется из разных папок в location:

/mysite_data/mysite/app/www;
/mysite_data/mysite/subdm2/app/www;
/mysite_data/mysite/subdm3/app/www;


Вот как заставить его искать файлы во всех папках?
  • Вопрос задан
  • 346 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
try_files? Но вообще это неправильный подход, взять хотя бы вариант, когда имена файлов в каталогах совпадают.

Сделайте лучше отдельные конфиги для поддоменов.
Ответ написан
философия разработчика nginx - проще скопировать конфиг чем иметь кучу регулярок.
Теперь по сути.
1. у вас при генерации останутся траблы, например переменные не встанут в ерор лог рут ибо это строка и ей х класть на переменные.
А вот если у вас есть уже админка, и она генерит кофниги, то было бы не кисло объявит о ней. и кинуть пару конфигов. ДОмена и поддомена.
3. Самый простой способ
man - ln - стандартно, дешево и сердито.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы