Nginx为管理页面提供静态文件,但不为我的项目提供

时间:2019-01-22 10:49:41

标签: django docker nginx

我已经尝试解决了好几天,在阅读了许多教程文档和问题之后,我无法做到这一点。问题是我的django项目在docker容器中带有gunicorn和nginx没有针对我的网站的静态文件(404),但是具有针对管理页面的静态文件(这对我来说很奇怪)。这是我的配置:

DJANGO文档文件

FROM python:3

ENV PYTHONUNBUFFERED 1

ENV DJANGO_SETTINGS_MODULE=memes.settings_prod

RUN mkdir /code

WORKDIR /code

COPY . /code/

RUN pip install -r env_properties/prod/base.txt

RUN pip install -r env_properties/prod/prod.txt

RUN python manage.py collectstatic --noinput

RUN python manage.py migrate --noinput

NGINX文档文件

FROM nginx

RUN adduser --system --no-create-home --shell /bin/false --group --disabled-login nginx

RUN apt-get update

RUN apt-get install nano -y

COPY env_properties/nginx/nginx.conf /etc/nginx/nginx.conf

RUN mkdir /code

RUN mkdir /code/static

WORKDIR /code

COPY ./static /code/

NGINX CONFIG

location /static {
    autoindex on;
    alias /code/static;
}

DOCKER-COMPOSE

版本:“ 3”

服务:

web:
  container_name: django_web
  build:
    context: .
    dockerfile: ./env_properties/prod/Dockerfile
  command: gunicorn -w 4 memes.wsgi:application -b 0.0.0.0:8000
  environment:
    - DJANGO_SETTINGS_MODULE=memes.settings_prod
  volumes:
    - .:/code
  ports:
    - '8000:8000'

nginx:
  container_name: nginx_server_2
  command: nginx -g 'daemon off;'
  build:
    context: .
    dockerfile: env_properties/nginx/Dockerfile
  depends_on:
  - web
  ports:
  - "0.0.0.0:80:80"
  tty: true

我转到我的页面,在管理页面上有 http://0.0.0.0/static/admin/css/base.css请求网址 django_webnginx_server_2容器中都不存在 (并加载)

在我的页面上, http://0.0.0.0/static/memes_apps/style.css请求网址 django和nginx容器中都存在/static/memes_apps/style.css

请告诉我我做错了。

0 个答案:

没有答案