我正在尝试让 Python 与 Apache 一起工作,但是使用 CGI 或 mod_python 都失败了。
有人知道好的教程或者其他东西吗?
谢谢。
答案1
mod_python
基本上无人维护 - 您应该查看一下mod_wsgi
。安装包libapache2-mod-wsgi
,然后发出sudo a2enmod wsgi
启用它。
作为使其运行的简单示例,在您的文件中填充类似这样的内容/etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
在文件中/path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
重新启动 Apache2 后,对 的任何请求都将变成python 文件中/test
的 调用。application()
如需进一步了解,请查看 WSGI(Web 服务器网关接口),这Python 与 Web 服务器集成的方式。
奖励/更新:
Python(不出所料)在标准库中有一个小型 WSGI 服务器用于测试。如果你将其添加到文件底部,则可以将其作为任何旧的可执行文件运行以进行测试,然后让 Apache 接管生产:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('', 8080, application)
print "Serving on http://localhost:8080"
httpd.serve_forever()