ubuntu apache2 wsgi 部署django

入題 分爲以下幾步 html

1.安裝pythonpython

2.安裝djangoapache

3.安裝wsgi,若有問題請參照上一篇 ubuntu 編譯安裝 mod_wsgidjango

4.與apache集成這裏主要講這部分ubuntu

  環境apache 2.4.7 高於此版本適用於此 若是版本不一樣能夠參考此配置,可是出現問題能夠嘗試其餘瀏覽器

  1.在apache的模塊裏添加wsgiapp

    我這裏是在 /etc/apache2/mods-available添加文件ide

    wsgi.load 內容以下:post

    LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so網站

  2.sudo a2enmod wsgi

    此步提示 mod_wsgi 不存在

    網上搜索之獲得答案以下:

    執行:sudo apt-get install libapache2-mod-wsgi

    再次執行sudo a2enmod wsgi

    這時候因爲我手動新建文件了 會提示是否覆蓋選擇是就能夠了 這個時候在mods-available 時候會增長兩個文件wsgi.load 與wsgi.conf

  3.配置wsgi

    

"""
WSGI config for testdjproject project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
"""

import os
import sys
path = '/usr/bin/testdjproject'
if path not in sys.path:
    sys.path.append('/usr/bin/testdjproject')
    sys.path.append('/usr/bin/testdjproject/testdjproject')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testdjproject.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

這裏須要將網站路徑添加至系統路徑裏。可能出現的錯誤以及疑點以下

      1.No module named testdjproject.settings 這個錯誤是因爲在下文配置的wsgi.py裏面沒有將路徑添加進去 致使找不到這個模塊

      2.要在setting.py裏添加對127.0.0.1以及localhost的訪問以下:

        ALLOWED_HOSTS = ['127.0.0.1','localhost']

      3.爲何這裏是 testdj.setting這個與網站名稱同樣的

      4.路徑後面必定要準確 不須要的參數就不要加了

  4.配置apache2

    因爲我這個其餘網站是在000-default的 爲了拿出來 方便排查 新建了django.conf 

    內容以下:

    

<VirtualHost *:90>
    Alias /media/ /usr/bin/testdjproject/media/
    <Directory /usr/bin/testdjproject/media/>
        #Order deny,allow
        #Allow from all
        Require all granted
    </Directory>
    WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py
    #WSGIPythonPath /usr/bin/testdjproject/testdjproject 
    <Directory /usr/bin/testdjproject/testdjproject>
        Options FollowSymLinks
#AllowOverride all
### Order deny,allow
### Deny from all
#Order allow,deny
#Allow from all
#Satisfy all
    #    options -MultiViews
Require all granted
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>

 這裏有幾個問題 1.若是配置完成以後提示 client denied by server configuration:這時候可能與Require all granted 有關能夠本身排查

         2.Invalid command 'WSGIScriptAlias' 提示這個 也就是wsgi模塊沒有安裝正確 請參照上述

         3.WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py 這個文件是新建的在網站根目錄下設置便可

         4.注意wsgi.py的權限,若是權限不對也會出錯,這時候查看apache2的錯誤日誌就能夠 我這裏是/var/log/apache2/error.log

  5.重啓apache 打開瀏覽器 就會出現你以前開發好的頁面啦至此一切正常。不必定能匹配全部錯誤,若是有問題請仔細看日誌再作。開始也是安裝好以後什麼都沒有,原來是忘記加監聽端口了這一步仍是不能少  Listen 89

相關文章
相關標籤/搜索