Վիրտուալ սերվերում Nginx-ի միջոցով դոմենի ստատիկ ֆայլեր

NodeJS-ի կամ Express-ի վրա ստատիկ ֆայլեր տրամադրելու համար ստեղծվում է static-սերվեր: Փաստորեն, դա անխորհուրդ է, քանի որ այն աշխատում է դանդաղ:

Ավելի օպտիմալ է ստատիկան տրամադրել Nginx-ի միջոցով: Դրա համար դոմենի համար կատարվում է հատուկ կարգավորում, որը պարունակում է կանոնավոր արտահայտություն և ուղի դեպի ստատիկայի պանակը: Օրինակ, եկեք մեր դոմենում ստատիկայի պանակը լինի public պանակը: Այս դեպքում մենք կգրենք հետևյալ կարգավորումները.

confserver_name test1.com;

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

Սակայն այնքան էլ հարմար չէ, որ դոմենի անունը մենք պետք է գրենք երկու անգամ, եթե այդ անունը համընկնում է կայքի պանակի անվան հետ (իսկ մեր դեպքում հարմարության համար դա համընկնում է): Խնդիրը կարելի է լուծել հետևյալ կերպ.

confserver_name test1.com;

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

Եկեք հավաքենք մեր բոլոր կարգավորումները միասին և ստացվի հետևյալը.

confserver {
  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;
  }
}
Задание 1

Կարգավորեք ստատիկայի տրամադրումը երկու թեստային կայքերի համար: Փորձարկեք այն զննարկիչի միջոցով: