有人告诉我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/