[英]Cannot deploy Official Django tutorial on Apache (mod_wsgi)
我知道這個問題似乎已經被問過很多次了,但是現在我已經浪費了48個小時,嘗試其他答案提供的各種方法,而且似乎無法將django官方教程部署到我的本地Apache網絡服務器上(Ubuntu上的Apache 2.4 18.04,Python 3.6.5)。 這就是我所做的。
我創建了一個virtualenv
virtualenv outlier
cd outlier
pip3 install django
django-admin startproject mysite
我創建了我的應用,並安裝了適合我的python版本的mod_wsgi版本(我嘗試了apt install
和setup.py install
方法)。
然后我將/etc/apache2/sites-enabled/000-default.conf配置如下:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
<VirtualHost *:80>
LogLevel info
DocumentRoot /srv/outlier
ServerName outlier.tuhao
WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier/lib/python3.6/site-packages"
WSGIProcessGroup outlier
WSGIScriptAlias / /srv/outlier/outlier/wsgi.py
<Directory /srv/outlier>
Require all granted
</Directory>
</VirtualHost>
可以肯定的是,我還做了一個sudo chown -R www-data:www-data /srv/
和一個sudo chmod -R 777 /srv/
以避免任何權限叮當聲。
並使用sudo service apache2 restart
重啟了apache。 不幸的是,重新啟動后,apache日志立即開始不斷地向以下內容發送垃圾郵件:
當前線程0x00007faa78e0abc0(最近一次調用在前):[Mon Jun 04 15:34:55.664080 2018] [core:notice] [pid 1932] AH00051:child pid 5058 exit signal Aborted(6),可能在/ etc / apache2中發生coredump致命Python錯誤:Py_Initialize:無法獲取區域設置編碼ModuleNotFoundError:沒有名為“ encodings”的模塊
我應該先問一個問題(也許無需發布),因為我總是在不久之后找到解決方案。
這行代碼: WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier/lib/python3.6/site-packages"
需要成為這一行: WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier"
我發誓以前嘗試過失敗,但是在那個階段可能還有其他不正確的地方。
我將在此處為其他可能來自本教程的其他人留下問題並回答,而不知道下一步該怎么做。 或者管理員可以根據需要刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.