在Windows Server上使用IIS+FastCGI部署Django

在Windows Server上使用IIS+FastCGI部署Django

作者:二賽君

0. 背景

針對Django的部署來說,Django官網建議不要使用runserver的方式來部署項目。這種方法沒有經過安全審查以及性能測試,無法滿足上線運行要求,只是在本地調試時使用。

而部署Django的方式有很多,本文將在windows server系統上使用IIS架構網站。

windows提供web服務的常規方式,如下所示,下面詳細說明各個步驟。親測有效。
在這裏插入圖片描述

1. 創建django工程

在cmd命令窗口中輸入
django-admin startproject test_dj
創建django工程
在這裏插入圖片描述

2. 測試能否運行

在cmd命令窗口中輸入 python manage.py runserver 0.0.0.0:8000

打開瀏覽器,輸入127.0.0.1:8000,顯示如下圖,則說明django運行正常。
在這裏插入圖片描述

3. 簡單設置一下

在test_dj文件夾下,新建views.py,寫入如下代碼

from django.http import HttpResponse

def home(request):
	return HttpResponse("Hello, this is 二賽君。<br><br>www.ersaijun.cn")

在urls.py 中進行配置,如下

from .views import home 

urlpatterns = [
	path('',home),
    path('admin/', admin.site.urls),
]

刷新瀏覽器,則會看到如下所示內容。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-REjxcUZM-1582984700150)(img/2.png)]

4.新建服務器

新建服務器的時候選擇web服務器IIS,同時一定要選擇CGI模塊。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OFGgJ0HB-1582984700151)(img/3.png)]

5.配置IIS管理器

添加網站。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CRjjMLhX-1582984700152)(img/4.png)]

6.安裝和配置fastcgi(重點)

  • 使用pip命令安裝
    pip install wfastcgi
  • 複製wfastcgi到項目目錄

在python安裝路徑中找到wfastcgi.py文件,路徑如下圖,並複製到你的項目文件下,和manage.py同級。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5ajqmjpO-1582984700172)(img/5.png)]

  • 配置FastCGI映射

點擊test_dj,找到處理程序映射,雙擊進入,在右側點擊添加模塊映射
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-t98Ku3TB-1582984700175)(/img/6.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ufr2PNs0-1582984700196)(/img/7.png)]
模塊選擇FastCgiModule,可執行文件填寫你的python.exe路徑和wfastcgi.py 路徑,以 | 分割。請求限制選項中,取消映射選項卡中的選擇框,記住一定要取消。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OyrhVFG5-1582984700199)(/img/8.png)]

  • 設置FastCGI環境變量

點擊根節點,選擇FastCGI設置
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-imC41CYh-1582984700204)(/img/9.png)]
找到剛添加的那行,右鍵編輯。在常規裏找到環境變量,點擊添加。這裏需要添加三個環境變量。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-s2mA7Ixb-1582984700210)(/img/10.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1doKGJ5H-1582984700213)(/img/11.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-m50Dr4Dk-1582984700215)(/img/12.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jfr1C3Hy-1582984700218)(/img/13.png)]

注意PYTHONPATH爲你的項目路徑。

  • 設置應用程序池標誌

點擊應用程序池,在你的應用上右鍵,高級設置。進程模型的標識
選擇LocalSystem。注意此項不選擇,網站不會成功運行。(博主在此折騰許久)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gMXAHQGD-1582984700220)(/img/14.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-74d7WQaU-1582984700223)(/img/15.png)]

7.設置權限,啓動網站

最後設置下項目文件的權限,添加用戶IIS_IUSRS控制權限。啓動網站即可。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mMMUwVxl-1582984700224)(/img/16.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-otOu5LLY-1582984700227)(/img/17.png)]
打開瀏覽器,訪問網站的ip地址+端口號就可以訪問啦。

至此部署完成。這只是完成基本的部署,還有一些高級的設置,比如設置併發數等,可自行探索。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RfOxRmOD-1582984700229)(/img/18.png)]

歡迎關注。二賽君原創整理髮布,轉載請註明出處。謝謝。如果文章對您有所幫助,歡迎打賞鼓勵。
在這裏插入圖片描述
在這裏插入圖片描述
關注公衆號獲取全網最新動態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章