我對使用基於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