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

Django应用部署到Azure Web App Service异常,请求技术指导

Django部署到Azure Web App后显示默认主页的解决方案

1. 配置应用启动命令

Azure Web App不会自动识别Django的启动方式,必须手动指定生产服务器启动命令:

  • 登录Azure门户,进入你的Web App,打开「配置」>「常规设置」
  • 在「启动命令」栏输入:
    gunicorn --bind=0.0.0.0 --workers=4 --timeout=600 <你的项目名>.wsgi:application
    
    注意:将<你的项目名>替换为包含wsgi.py的Django项目文件夹名称(比如你的示例里是csvvalidator)

2. 确保虚拟环境被正确激活

如果你的项目依赖虚拟环境,需配置Azure在启动时激活它:

  • 在项目根目录创建.deployment文件,写入以下内容:
    [config]
    command = source /home/site/wwwroot/venv/bin/activate && gunicorn --bind=0.0.0.0 --workers=4 --timeout=600 csvvalidator.wsgi:application
    
    (如果虚拟环境路径不同,替换为实际路径)

3. 更新Django的ALLOWED_HOSTS设置

在settings.py中必须添加Azure Web App的域名,否则Django会拒绝请求:

ALLOWED_HOSTS = ['<你的WebApp名称>.azurewebsites.net', '127.0.0.1']

测试阶段可临时设为ALLOWED_HOSTS = ['*'],生产环境务必指定具体域名

4. 关于端口占用的说明

你在SSH中运行python manage.py runserver提示端口被占用,是因为Azure已经通过生产服务器(如Gunicorn)占用了端口。开发服务器runserver仅用于本地开发,生产环境不需要手动启动它,Azure会通过你配置的启动命令自动运行生产服务器。

5. 重启Web App验证

完成所有配置后,在Azure门户重启你的Web App,等待重启完成后访问站点即可加载Django应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:35:08