You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS Lightsail用Docker部署Django应用遇页面加载异常求助

Django部署求助:AWS Lightsail + Docker + Gunicorn + Nginx

我现在卡在AWS Lightsail上用Docker、Gunicorn和Nginx部署Django应用这事儿上了,翻了好几个教程跟着做都没成。说实话大部分相关概念我都不太懂,基本就是照着步骤瞎操作。

目前服务器内部看着好像一切正常,但网页端死活看不到结果:

  • 已经按“生产环境”配置了(不确定对不对),域名解析也指向服务器了,但网页一直加载转圈,连开发用的8000端口也打不开
  • Docker Compose日志里见过几次「301 5 永久重定向」的记录,但没别的有用信息

下面是我这边的关键配置文件,麻烦帮忙看看哪里出问题了:

关键配置文件

docker-compose.yml

version: '3.7'
services:
  web:
    build: .
    environment:
      - ENVIRONMENT=production
      - SECRET_KEY=NOT IMPORTANT
      - DEBUG=0
      - EMAIL_HOST_USER=EMAIL
      - EMAIL_HOST_PASSWORD=PASSWORD
    volumes:
      - .:/code
      - static_volume:/code/staticfiles
    depends_on:
      - db
    networks:
      - nginx_network
      - db_network
  db:
    image: postgres:11
    env_file:
      - config/db/db_env
    networks:
      - db_network
    volumes:
      - db_volume:/var/lib/postgresql/data
  nginx:
    image: nginx:1.17.0
    ports:
      - 80:80
    volumes:
      - ./config/nginx/conf.d:/etc/nginx/conf.d
      - static_volume:/code/staticfiles
    depends_on:
      - web
    networks:
      - nginx_network
networks:
  nginx_network:
    driver: bridge
  db_network:
    driver: bridge
volumes:
  db_volume:
  static_volume:

注:原配置里build:后面漏了.,我补上了,应该是要指定当前目录构建镜像

Dockerfile

# Pull base image
FROM python:3.7
# Environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Work directory
WORKDIR /code
# Dependencies
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system
# Copy project
COPY . /code/
# expose port
EXPOSE 80
# gunicorn
CMD ["gunicorn", "--chdir", "my_project", "--bind", ":80", "mbdebate_project.wsgi:application"]

Nginx conf.d配置文件

upstream hello_server {
    server web:80;
}
server {
    listen 80;
    server_name mydomain.com;
    location / {
        proxy_pass http://hello_server;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
    }
    location /static/ {
        alias /code/staticfiles/;
    }
}

我自己感觉Django本身的配置应该没什么问题,有没有大佬能给点技术指导,帮我解决这个部署的问题啊?

内容的提问来源于stack exchange,提问作者Eric Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 16:48:14