Win+apache+mod_wsgi+WSGIPythonHome配置部署多个虚拟环境解决方案
温馨提示:
最后更新时间2020-05-27 16:54:21,若内容或图片失效,请留言反馈!
在Win下本地配置Python Django项目,如果存在多个有些麻烦,单个项目部署下面文档:
windowns下配置Apache+Python+Flask+mod_wsgi(详细部署步骤)
遇到的坑:
1、通过上面文档配置后,每个项目可以单独使用自己的虚拟环境,不影响其他项目依赖包,同样,在第三步执行【mod_wsgi-express module-config】后会得到一个【WSGIPythonHome】
如果将这个WSGIPythonHome同样放在httpd.conf,Apache不会报错,但会有警告,会跳过前面一个WSGIPythonHome,加载后面WSGIPythonHome的环境位置,这时候如果是新项目,前面原有的项目环境就不起作用了。
另外:WSGIPythonHome配置必须放在httpd.conf中,加载到VirtualHost,Apache启动不了,不用再试了。
2、网上有不少教程是用 WSGIDaemonProcess和WSGIProcessGroup配置解决的,这个应该是加载了wsgi_module/mod_wsgi.so 才可以用,我的本地项目是wsgi_module/mod_wsgi.cp36-win_amd64.pyd 这样的,所以这个也不行。
3、网上还有一个教程,在wsgi文件中加:
activate_this = '/home/bjhee/virtualenv/bin/activate_this.py'
with open(activate_this) as f:exec(f.read(),dict(__file__=activate_this))
参考资料:
http://www.pythondoc.com/flask/deploying/mod_wsgi.html
https://segmentfault.com/q/1010000004687378
https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html mod_wsgi配置虚拟环境的详细介绍,仔细看,认真看,能解决很多问题。