如何在 apache2 中使用 Python?

Val*_*ery 13 python apache2

我正在尝试让 Python 与 Apache 一起工作,但是我没有成功使用 CGI 或 mod_python。

有没有人知道一个好的教程或其他东西?

谢谢。

Mor*_*uhr 17

mod_python基本上是非维护的 - 您应该查看mod_wsgi. 安装包libapache2-mod-wsgi,然后发出sudo a2enmod wsgi以启用它。

作为让它运行的一个快速示例,在你的/etc/apache2/sites-enabled/default

WSGIScriptAlias /test /path/to/python/file.py
Run Code Online (Sandbox Code Playgroud)

在文件中/path/to/python/file.py

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return "Hello World"
Run Code Online (Sandbox Code Playgroud)

重新启动 Apache2 后,任何对 的请求都/testapplication()在您的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()
Run Code Online (Sandbox Code Playgroud)