Django Apache組態


到目前為止,在我們的例子中,都是使用 Django 開發的web伺服器。但這種伺服器只是用於測試和不適合生產環境。一旦程式發布投入生產,就需要如Apache,Nginx等一個真正的伺服器,我們在這一節中討論Apache的組態。

服務Django應用程式是通過Apache使用mod_wsgi的完成。 因此,第一件事情就是要確保你已經安裝了Apache和mod_wsgi。請記住,當我們建立我們的專案,專案結構它看起來應該如下所示 -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py
wsgi.py檔案是一個考慮Django和Apache之間的聯絡和處理。

比方說,我們希望分享專案(myproject)在Apache中。 我們只需要設定Apache來存取這個檔案夾。假設我們把myproject的檔案夾在 "/var/www/html". 在此階段,存取該專案將經由 http://127.0.0.1/myproject 來完成。 這將導致Apache 列出檔案夾顯示如在下面的快照。

可以看出,Apache不需要處理Django的東西。 對於需要處理的,需要在Apache的httpd.conf組態。 於是開啟httpd.conf並新增以下行 ?

WSGIScriptAlias / /var/www/html/myproject/myproject/wsgi.py
WSGIPythonPath /var/www/html/myproject/

<Directory /var/www/html/myproject/>
   <Files wsgi.py>
      Order deny,allow
      Allow from all
   </Files>
</Directory> 

如果可以存取登入頁面: http://127.0.0.1/myapp/connection, 你將看到如下頁面 -