如何将 Python 与 apache2 结合使用?

如何将 Python 与 apache2 结合使用?

我正在尝试让 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()

相关内容