如何通过windows SYSTEM自动启动django web服务器

问题描述 投票:0回答:2

我想知道是否有办法让Windows Server 2019自动启动django的Web服务器。我还希望在启动时由 SYSTEM 执行启动。

我尝试使用批处理脚本从 venv 的 python 解释器启动 manage.py。当我手动启动批处理(即双击)时,它工作得很好。但在计划任务时,SYSTEM 似乎无法正确运行脚本。

我让 SYSTEM 在启动时启动另一个脚本(一个简单的 python 脚本,从它自己的 venv 中创建一个 txt 文件)并且它可以工作。 如果 Django 启动 sceipt 是由 USER 启动的,那么它就可以工作。

问题出在使用 SYSTEM 启动 django 时。我也尝试过streamlit,结果是一样的。

你有什么想法吗?

批处理脚本示例:

cd path\of\managepyfile\
C:\path_to_venv\Scripts\python -m manage.py runserver
python django streamlit windows-server-2019
2个回答
0
投票

我们运行一个类似的应用程序(不是 python),但是一个使用 Web 服务器的应用程序。 我们将其设置为任务计划程序中的一项任务,当服务器启动时,它会运行 powershell 脚本,该脚本执行命令来启动 Web 服务器。

设置链接

但是,您可以使用 Web 服务器(例如 IIS),并将文件部署到 cdrive 中的 www 文件夹,并将该站点作为 IIS 服务运行。

如果您以前从未使用过 IIS,那么在 IIS 上进行设置有点棘手。很高兴为您提供帮助,因为我们已经通过这种方式为我们的一个应用程序部署了测试访问工具。


0
投票

您可以简单地使用“任务计划程序”。

在“常规”选项卡中,选择无论用户是否登录都运行任务。

在“触发器”选项卡中添加一个新触发器,用于“启动时”开始任务。

在“操作”选项卡中添加一个新操作“启动程序”,然后在“程序/脚本”字段中添加 Python.exe 文件的完整路径,并在参数字段中写入“-m manage.py runserver”和在“开始于”字段中写入路径“path\of\managepyfile”。

在“设置”选项卡中,取消选中“如果任务运行时间超过则停止任务”选项。

© www.soinside.com 2019 - 2024. All rights reserved.