我为python2.7安装并配置了mod_wsgi,但是现在我还想为py3安装mod_wsgi
我在ubuntu 12.04我的apache conf文件对于py2.7看起来像这样:
<Directory /var/www/vhosts/my_web>
WSGIProcessGroup my_web
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
现在我想为python3安装mod_wsgi.
我想我必须做apt-get install libapache2-mod-wsgi-py3
但我找不到任何关于如何为py3配置mod_wsgi的指令.a)我可以保留mod_wsgi用于py2.7还是我需要删除它以便apache与mod_wsgi_py3一起使用?b)我需要在apache conf中包含哪些内容?
504页后来自Apache的错误
[info] mod_wsgi (pid=): Python home /var/venv/mybox.
[info] mod_wsgi (pid=): Initializing Python.
ImportError: No module named site
Run Code Online (Sandbox Code Playgroud)
这是一个几乎没有配置的应用程序。
<IfModule mod_wsgi.c>
WSGIDaemonProcess myapp python-home=/var/venv/mybox
WSGIProcessGroup myapp
WSGIScriptAlias / /var/www/html/web/myapp/wsgi.py
WSGISocketPrefix /var/run/wsgi
<Directory /var/www/html/web>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我可以按照每个帖子和教程进行操作。我在CENTOS6上。使用virutal env python 2.7,默认系统env为2.6
$ ldd /etc/httpd/modules/mod_wsgi.so
linux-vdso.so.1 => (0x00007ffc06174000)
Run Code Online (Sandbox Code Playgroud)
mywsgi.py
import os,sys
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
sys.path.insert(0,'/var/www/html/web')
activate_this = '/var/venv/mybox/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
未设置PYHTONHOME