VPS 서버에서 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;
}
}
두 테스트 사이트 모두에 대해 정적 파일 제공을 설정하십시오. 브라우저를 통해 테스트해 보십시오.