VPS 서버에서 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

두 테스트 사이트 모두에 대해 정적 파일 제공을 설정하십시오. 브라우저를 통해 테스트해 보십시오.