Vallery Asked: 2011-03-06 11:46:59 +0800 CST2011-03-06 11:46:59 +0800 CST 2011-03-06 11:46:59 +0800 CST 如何将 Python 与 apache2 一起使用? 772 我试图让 Python 与 Apache 一起工作,但是我在 CGI 或 mod_python 上都没有成功。 有谁知道一个好的教程或什么的? 谢谢。 python 1 个回答 Voted Best Answer Morten Siebuhr 2011-03-06T12:51:38+08:002011-03-06T12:51:38+08:00 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 后,任何请求都/test将application()在您的 python 文件中转换为调用。 如需进一步阅读,请查看 WSGI(WebServer 网关接口),这是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()
mod_python
基本上是非维护的 - 你应该查看mod_wsgi
. 安装包libapache2-mod-wsgi
,然后发出sudo a2enmod wsgi
以启用它。作为一个让它运行的快速示例,在你的
/etc/apache2/sites-enabled/default
:在文件中
/path/to/python/file.py
:重新启动 Apache2 后,任何请求都
/test
将application()
在您的 python 文件中转换为调用。如需进一步阅读,请查看 WSGI(WebServer 网关接口),这是Python 与 Web 服务器集成的方式。
奖励/更新:
Python(不出所料)在标准库中有一个小型 WSGI 服务器用于测试。如果你在文件的底部添加它,你可以将它作为任何旧的可执行文件运行以进行测试,然后让 Apache 接管生产: