
기본 웹사이트가 설정되어 있는데 정적 파일 제공을 처리하는 방법에 대해 혼란을 겪고 있습니다. 정적 파일을 제공하기 위해 해야 할 유일한 일은 nginx 구성에서 gunicorn에 대한 프록시를 설정하는 것입니다.
location / {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
이것만으로 gunicorn을 통해 내 앱을 실행하면 gunicorn myapp:app
정적 폴더 디렉터리에서만 정적 파일을 제공할 수 있습니다. 나는 플라스크의 무언가가 이 디렉토리의 모든 파일을 제공한다고 말하고 있기 때문에 이것이 작동한다고 추측합니다. (개발 서버가 실행되고 있지 않으며 app.run()이 주석 처리되어 있습니다.)
그래서 내 질문은 nginx가 이러한 파일을 자동으로 제공하는 것을 어떻게 중지합니까? 각 파일 유형(비디오, 이미지, css/html/js 등)에 대해 나만의 위치 블록을 사용하여 서버에 저장하고 싶습니다. 따라서 올바른 설정으로 제공됩니다.
설명을 위해: website.com/static/css/test.css
둘 website/css/test.css
다 동일한 파일을 제공합니다. 첫 번째 파일은 자동으로 제공되고 두 번째 파일은 위치 블록과 함께 제공되는 파일입니다.
location /css/ {
#other setting
root /home/app/static/;
}
나는 아무것도 제공하고 싶지 않습니다 website.com/static/css/test.css
. 내가 정의한 위치 블록에서만 서비스가 제공되기를 원합니다.