如何在Windows Server 2012上让Django+Waitress以守护进程模式运行?
在Windows Server 2012上将Waitress部署的Django应用配置为守护进程并实现开机自启
1. 编写启动批处理脚本
创建一个.bat文件(比如start_django.bat),内容如下,替换其中的路径和项目名称为实际值:
@echo off cd /d "D:\your-django-project-root" "C:\Python39\python.exe" -m waitress --listen=0.0.0.0:8000 your_project_name.wsgi:application
@echo off:避免命令行窗口显示执行的命令cd /d:切换到Django项目根目录- 明确指定Python路径:避免系统环境变量冲突导致找不到Python解释器
- Waitress启动命令:
--listen=0.0.0.0:8000让应用监听所有网卡,替换your_project_name为实际的Django项目名称
2. 通过任务计划程序配置开机自启与后台运行
Windows Server自带的任务计划程序可以满足无窗口后台运行、开机自启的需求,无需第三方工具:
- 打开任务计划程序:按下
Win+R输入taskschd.msc回车,或在开始菜单搜索“任务计划程序” - 创建任务:点击右侧「创建任务」,按以下配置填写:
- 常规选项卡:
- 输入任务名称(如「Django Waitress 服务」)
- 勾选「不管用户是否登录都要运行」、「使用最高权限运行」(避免权限不足导致启动失败)
- 触发器选项卡:
- 点击「新建」,选择「开始任务」为「启动时」,点击确定
- 操作选项卡:
- 点击「新建」,操作选择「启动程序」,在「程序或脚本」中选择刚才创建的
start_django.bat文件路径,点击确定
- 点击「新建」,操作选择「启动程序」,在「程序或脚本」中选择刚才创建的
- 设置选项卡:
- 勾选「如果任务失败,每隔5分钟重试,最多重试3次」
- 勾选「允许任务按需运行」
- 取消勾选「如果计算机进入睡眠状态,则停止任务」
- 常规选项卡:
- 点击「确定」,输入管理员密码完成任务创建
3. 验证配置效果
- 手动测试:在任务计划程序中找到创建的任务,右键选择「运行」,通过访问
http://服务器IP:8000确认应用正常启动,此时不会弹出命令提示符窗口 - 重启服务器:重启后检查应用是否自动启动,同时可以正常打开Shell进行其他操作,不会影响应用运行
内容的提问来源于stack exchange,提问作者jeevu94
相关产品推荐
相关产品推荐

