【发布时间】:2021-05-12 04:27:25
【问题描述】:
在使用 NGINX 和 Flask 提供静态文件 (CSS + JS) 时遇到一些问题。
当前设置使 Flask 网站在一个容器中运行,而 NGINX 在另一个容器中运行。
静态文件存储在 Flask 应用目录中的/static。
如何让 NGINX Container 访问 CSS 和 JS 文件?
Flask Docker 文件: FROM python:3.8-slim
WORKDIR /usr/src/app
RUN pip install pipenv
COPY Pipfile* ./
RUN pipenv lock --requirements > requirements.txt
RUN pip install -r requirements.txt
RUN pip install gunicorn
COPY . .
NGINX Docker 文件: FROM nginx:1.15.8
RUN rm /etc/nginx/nginx.conf
COPY nginx.conf /etc/nginx/
RUN rm /etc/nginx/conf.d/default.conf
COPY project.conf /etc/nginx/conf.d/
NGINX 项目.conf
server {
listen 80;
server_name gunicorn_nginx;
location / {
proxy_pass http://Website:8000;
# Do not change this
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static {
rewrite ^/static(.*) /$1 break;
root /Website/;
}
}
我尝试过浏览一些在线教程,但它们似乎没有涵盖这方面的内容。 提前致谢。
编辑:似乎通过删除
location /static {
rewrite ^/static(.*) /$1 break;
root /Website/;
}
从 project.config 文件 Gunicorn 是否能够提供静态文件?
【问题讨论】:
标签: docker nginx flask nginx-config