有人告诉我wsgi是可行的方法,而不是mod_python。但更具体地说,您将如何设置多网站服务器环境?选择网络服务器等?

最佳答案

Apache + mod_wsgi是一个常见的选择。

这是一个简单的虚拟主机示例,它设置为将对/ wsgi / something的任何请求映射到应用程序(然后可以查看PATH_INFO来选择操作,或者您正在分派)。根URL'/'也被路由到WSGI应用程序。

LoadModule wsgi_module /usr/local/lib/mod_wsgi.so
...

<VirtualHost *:80>
    ServerName                  www.example.com
    DocumentRoot                /www/example/htdocs
    WSGIScriptAliasMatch ^/$    /www/example/application.py
    WSGIScriptAlias      /wsgi  /www/example/application.py
</VirtualHost>


如果愿意,可以使用WSGIProcessGroup指令来分隔不同虚拟主机的处理程序。如果您需要在不同的用户下运行虚拟主机的脚本,则需要使用WSGIDaemonProcess而不是嵌入式Python解释器。

application.py在运行时将在全局“ application”变量中将您的WSGI保持为可调用状态。您还可以添加“主要运行”页脚以与老式CGI兼容:

#!/usr/bin/env python
from mymodule import MyApplication

application= MyApplication()

if __name__=='main':
    import wsgiref.handlers
    wsgiref.handlers.CGIHandler().run(application)

关于python - 您将如何设置具有多个虚拟主机的python Web服务器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/537399/

10-10 19:01