Վիրտուալ սերվերում Nginx-ի միջոցով դոմենի ստատիկ ֆայլեր
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;
}
}
Կարգավորեք ստատիկայի տրամադրումը երկու թեստային կայքերի համար: Փորձարկեք այն զննարկիչի միջոցով: