入題 分爲以下幾步 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