【发布时间】:2010-04-01 14:29:25
【问题描述】:
我使用 FastCGI 在 Nginx 下的 Windows Server 2k3 上运行 Django。
Nginx 作为 Windows 服务运行,易于管理和自动启动。 Nginx 正在使用WINSW 工具运行。
我想为 Django 应用程序做同样的事情,需要找到一种方法。
Django 应该使用以下命令作为单独的 FCGI 应用程序启动:
python manage.py runfcgi method=threaded host=127.0.0.1 port=8800
或
manage.py runfcgi method=threaded host=127.0.0.1 port=8800
(如果 .py 与 python 关联)
我正在寻找一种将 FCGI Django 作为 Windows 服务启动/停止的方法,以便能够在 Windows 加载时自动启动它,并有一种简单的方法来启动/停止/重新启动 Django FCGI 应用程序。
【问题讨论】:
-
也许您可以扩展您的问题,更具体地了解您想要完成的工作。 Django 是一个需要由网络服务器托管的网络应用程序框架。它不是一个可以自行运行的独立应用程序,这意味着它需要自动启动。
-
Django 可以作为一个单独的 FCGI 应用程序工作。我正在使用 Nginx 网络服务器并将 Django 作为 Nginx 背后的 FCGI 应用程序运行是在 Nginx AFAIK 上运行 Django 的标准方式。实际上我在 Windows 服务器上使用 IIS。首先,我尝试在 IIS 上运行 Django - 但它带来了很多麻烦,并且无法在 x64 Windows 上执行此操作,所以我决定将 Nginx 作为主网络服务器运行 - 作为 IIS 的反向代理和 Django 的 FCGI 主机。现在正在寻找一种将 Django FCGI 应用程序作为服务使用的好方法。
-
如果您仍然愿意在 IIS 后面的 Windows 上运行 Django,您可能对github.com/antoinemartin/django-windows-tools 感兴趣
-
@T.Stone 我们不能通过使用子进程模块docs.python.org/3/library/subprocess.html 在 Python 的子进程中的命令提示符下发出 Django run server 命令来自动启动 Django 吗?
标签: django windows-services nginx