我不熟悉使用基于Django的应用程序,并尝试使用以下配置部署django项目,这几乎与django docs上的默认配置类似。
apache2.conf
# WSGI Configuration
WSGIDaemonProcess demo python-path=/home/inian/Documents/demo
WSGIProcessGroup demo
WSGIScriptAlias / /home/inian/Documents/demo/demo/wsgi.py process-group=demo
<Directory /home/inian/Documents/demo/demo>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# Serving static files
Alias /static/ /home/inian/Documents/demo/static/
<Directory /home/inian/Documents/demo/static>
Require all granted
</Directory>
当我启动apache服务器时,它正常启动但由于python版本不匹配,因此加载我的项目时出现运行时错误。
/var/log/apache2/error.log
[Sun Apr 10 20:38:16.165536 2016] [wsgi:warn] [pid 22959] mod_wsgi: Compiled for Python/2.7.11.
[Sun Apr 10 20:38:16.165551 2016] [wsgi:warn] [pid 22959] mod_wsgi: Runtime using Python/2.7.10.
[Sun Apr 10 20:38:16.166787 2016] [mpm_prefork:notice] [pid 22959] AH00163: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/4.5.1 Python/2.7.10 configured -- resuming normal operations
我希望我的应用程序使用位于版本/usr/local
的{{1}}位置安装的python,这是我用来编译和安装2.7.11
的那个,但为了安全我还检查了mod_wsgi
,其输出为/usr/bin/python -V
。这可以用于两个问题:
如何指示apache从安装位置Python 2.7.6
使用Python 2.7.11(我一直使用它作为服务器上所有内容的默认设置)。
我不记得曾经使用2.7.10安装或做任何事情,所以我不知道apache如何以及从何处加载和使用它。如果有人可以指导我,那么它也会很棒。