到目前為止,在我們的實例中,都是使用 Django 開發(fā)的web服務(wù)器。但這種服務(wù)器只是用于測試和不適合生產(chǎn)環(huán)境。一旦程序發(fā)布投入生產(chǎn),就需要如Apache,Nginx等一個真正的服務(wù)器,我們在這一節(jié)中討論Apache的配置。
服務(wù)Django應(yīng)用程序是通過Apache使用mod_wsgi的完成。 因此,第一件事情就是要確保你已經(jīng)安裝了Apache和mod_wsgi。請記住,當我們創(chuàng)建我們的項目,項目結(jié)構(gòu)它看起來應(yīng)該如下所示 -
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py
wsgi.py文件是一個考慮Django和Apache之間的聯(lián)系和處理。
比方說,我們希望分享項目(myproject)在Apache中。 我們只需要設(shè)置Apache來訪問這個文件夾。假設(shè)我們把myproject的文件夾在 "/var/www/html". 在此階段,訪問該項目將經(jīng)由 http://127.0.0.1/myproject 來完成。 這將導致Apache 列出文件夾顯示如在下面的快照。
可以看出,Apache不需要處理Django的東西。 對于需要處理的,需要在Apache的httpd.conf配置。 于是打開httpd.conf并添加以下行 ?
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 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, 你將看到如下頁面 -