求助:如何在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服务
- 代理名称自定义,目标URL填
- 避免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
相关产品推荐
相关产品推荐

