我有一个 Python 脚本,其中包含:
from flup.server.fcgi import WSGIServer
def processRequest(environ, start_response):
# proprietary business logic here
return
WSGIServer(
application = processRequest,
bindAddress = ('0.0.0.0', 6543),
umask = 0
).run()
我在带有 Python 2.7.3 的 ubuntu 12.04.2 LTS 服务器上从命令行运行这个 Python 脚本。
在同一台服务器上,我配置了 lighttpd 版本 1.4.28
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_setenv",
"mod_fastcgi",
"mod_accesslog"
)
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/secret.pem"
server.document-root = "/var/www"
fastcgi.server = (
"/MyFCGI/" =>
((
"host" => "127.0.0.1",
"port" => 6543,
"check-local" => "disable"
))
)
}
当我https://TheEffKyouDeeEnn/MyFCGI/blah/blahblah
使用 JSON 对象作为 POST 请求时,系统会按照我预期的方式运行,并将我的请求传递给在命令行上运行的 Python 脚本。
我需要在运行 Apache 2.2 的 MS-Windows Server 机器上配置相同的功能。我想保留将我的 Python 脚本部署在网络上任何位置的能力,而不仅仅是在具有 Apache 实例的服务器上。尽管文档似乎表明这是可能的,但至少使用 mod_fcgid,我自己无法使其工作,也找不到工作示例。
您能否确认 mod_fcgid 是合适的模块并举例说明如何配置 Apache 和 mod_fcgid 以复制我的 lighttpd 行为?