我对使用基于Django的应用程序以及尝试使用以下配置来部署django项目感到陌生,这些配置几乎与django文档中给出的默认配置类似。Django部署:配置正确的python以供apache/mod_wsgi使用
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
蟒是2.7.11
版本,这是我用来编译和安装一个mod_wsgi
,但为了安全起见,我还检查了/usr/bin/python -V
,它给出的输出为Python 2.7.6
。这使得使用两个问题:
我怎么可以指向apache的使用Python 2.7.11从安装位置
/usr/local/bin/python
(我一直在使用默认的服务器上所有的东西)。我不记得以前安装过或者做过任何2.7.10的工作,所以我不知道如何以及从哪里加载和使用apache。如果有人能指引我,那么它也会很棒。
这些仅仅是警告,并且这两个版本是如此接近,你可以简单地忽略它们。 – Zorgmorduk
呃没有那些不只是警告,那些是以后运行时错误的原因。因为我不知道2.7.10版本是从哪里进来的,所以该版本没有正确编译'pyUnicodeUCS4_AsEncodedString',我在2.7.11安装时已经注意到了这一点。所以是的,我需要使用正确的python版本,我已经安装位置'/ usr/local'位置 – bawejakunal
我指的是:[wsgi:warn]。所以你可以真正的接受它。当然这就是警告的原因,如果你在这两个版本中使用不同的东西,那么你可能会遇到问题。机会很低。 – Zorgmorduk