帮助使用isapi-wsgi启动部署WSGI应用程序的实用工具
项目描述
简介
ISAPIWSGIHelper 是一个小型命令行脚本和一些辅助实用工具,用于帮助使用 Microsoft IIS 和 isapi-wsgi 启动部署 WSGI 应用程序。
先决条件
以下应该已安装
Python
Python Win32 扩展
此外,Python 的脚本目录应该已经在您的路径中。如果像 easy_install 或 pip 这样的命令已经正常工作,那么您应该已经准备好了。
您应该熟悉 IIS 以及如何将 ISAPI 扩展加载到网站和虚拟目录中。您应该熟悉 isapi-wsgi 的设置。
依赖
argparse
isapi_wsgi
安装
easy_install ISAPIWSGIHelper 或 pip install ISAPIWSGIHelper 就可以完成任务。
注意: ISAPIWSGIHelper 应该安装在 Python 的 site-packages 目录中,而不是在虚拟环境中。
使用方法
安装 ISAPIWSGIHelper 软件包时会安装 "iwhelper" 命令。
推荐使用 virtualenv,但不是必需的
> cd c:\somewhere\myproj-venv
> virtualenv .
> iwhelper
以上操作将在虚拟环境的根目录中添加一个 isapi-wsgi 目录。根据该文件中的注释编辑 isapi-wsgi\\appinit.py。
然后,使用 isapi-wsgi\\__loader.dll 创建网站或虚拟目录,并设置通配符映射。
特性
由 iwhelper 命令创建的 isapi-wsgi 目录具有以下特性
- 通过以下命令轻松创建每个项目的isapi-wsgi引导目录
iwhelper 命令(见上文)
- 异常会被捕获并适当处理。不再有来自IIS的神秘500状态
响应。
- 实例化应用程序时遇到的异常最初是隐藏的,但可以通过在_loader.py中更改配置
显示给浏览器。
- 向应用程序发出请求时遇到的异常记录在isapi-wsgi目录下的文件中。
appinit.py为isapi-wsgi和您的应用程序提供了一个简单的桥梁
appinit.py提供了一个加载虚拟env的site-packages目录的机制
机制
使用_loader.py的特殊故障排除
如果您实在无法找出应用程序为何无法工作,_loader.py提供了一种特殊机制,可以在Python web服务器中运行您的设置,这将为您提供更好的异常消息,并在文件更改时自动重新加载Python文件。有关详细信息,请参阅_loader.py底部的注释。
关于应用程序池的说明
我为每个Python网站使用不同的应用程序池。在故障排除时,我将应用程序池设置为在每次请求后自动回收。这相当于各种Python开发web服务器的自动重新加载。只需记住,在投入生产使用之前将其关闭,否则您的性能将大幅下降。
问题 & 评论
当前状态
对我有效。 :)
可以通过 easy_install ISAPIWSGIHelper==dev 安装开发版本。
项目详细信息
ISAPIWSGIHelper-0.1.3.zip 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 064e246cb576cdbb2434a71eb89c3466f7cc06993424b4930ec4d8a91b39f7c2 |
|
MD5 | 2df53166dbd4602ad914f2a2a3ffedd2 |
|
BLAKE2b-256 | ea5f5d8f47fdf4827238aee3126f342d969411dd71ed40945aad2c37bcc13ea9 |