簡體   English   中英

無法在Apache(mod_wsgi)上部署官方Django教程

[英]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 installsetup.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM