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

求助:如何在aaPanel中部署Django项目?部署遇404错误

在aaPanel中部署Django项目并解决404错误的方案

1. 核对Python Manager 2.0的项目配置

  • 确认项目根目录:必须指向包含manage.py的Django项目根文件夹,不能是子应用或其他子目录
  • 配置正确的WSGI启动文件:路径格式为你的项目名/wsgi.py(比如项目叫blog,则填blog/wsgi.py),确保aaPanel能正确找到WSGI入口
  • 检查端口占用:在Python Manager项目详情页修改端口,避免与其他服务冲突,修改后重启项目

2. 修正Django项目核心配置

  • 更新settings.py中的ALLOWED_HOSTS:添加你的域名、服务器IP或localhost,示例:
    ALLOWED_HOSTS = ['example.com', '192.168.1.100', 'localhost']
    
  • 验证URL路由:确保项目根urls.py中包含有效的路由规则,比如:
    from django.urls import path, include
    
    urlpatterns = [
        path('', include('your_app.urls')),  # 绑定根路径到子应用路由
        path('admin/', admin.site.urls),
    ]
    
  • 调试阶段可临时开启DEBUG = True排查问题,生产环境务必设为DEBUG = False

3. 配置Nginx反向代理(域名访问场景)

  • 在aaPanel「网站」模块添加站点,进入「反向代理」设置:
    • 代理名称自定义,目标URL填http://127.0.0.1:你的项目端口
    • 开启「启用反向代理」后保存,重启Nginx服务
  • 避免Nginx配置中有冲突的重写规则,确保请求能正确转发到Django服务

4. 处理静态/媒体文件

  • 在settings.py中设置静态文件根目录:
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    
  • 执行命令收集静态文件:
    python manage.py collectstatic
    
  • 在Nginx配置中添加静态文件映射(替换为你的实际路径):
    location /static/ {
        alias /www/wwwroot/你的项目目录/staticfiles/;
    }
    
  • 媒体文件同理,配置MEDIA_ROOT和MEDIA_URL后,添加对应的Nginx映射规则

5. 查看详细日志定位问题

  • 在aaPanel的Python Manager中点击对应项目的「日志」按钮,查看完整错误栈
  • 也可直接查看服务器日志文件,路径通常为/www/wwwlogs/你的项目日志名称.log,从中排查除404外的潜在问题

内容的提问来源于stack exchange,提问作者Javier L. Camacaro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:06:27