Windows的 IIS 部署django項目python
1。安裝Windows的IIS 功能(win10爲例):web
(1)進入控制面板 :選擇大圖標 進入程序和功能django
(2)啓用或者關閉Windows功能bootstrap
(3)勾選須要的功能(CGI必須安裝)、瀏覽器
(4)驗證IIS有沒有安裝成功服務器
打開瀏覽器 輸入地址爲: localhost (出現此頁面則IIS安裝成功)app
2.環境準備:你的django 或許使用了虛擬環境,那麼部署的時候,服務器主機除了python以外,,,django框架 依賴庫都要在服務器主機上安裝 框架
(1)安裝 wfastcgi 打開管理員命令行(cmd)使用命令 pip install wfastcgi ide
安裝成功後 wfastcgi-enable (記住wfastcgi.py文件的路徑)工具
(2)先將項目 複製到 C:\inetpub\wwwroot 目錄下 (避免權限問題致使項目部署失敗)
(3)將wfastcgi.py複製到項目的根目錄下
(4)檢查依賴庫有沒有所有安裝
(安裝依賴庫的時候,能夠先把項目環境的軟件包信息和依賴軟件導出到文件裏<注意切換到項目目錄,如runserver方法一致>
(命令爲:pip freeze > requirements.txt)而後直接在cmd(管理員)裏面執行pip install -r requirements.txt)
打開cmd(管理員) 進入到項目的根目錄 ,而後運行 python manage.py runserver
若是報錯,仔細檢查錯誤信息,安裝須要的依賴庫(上圖是正確運行的結果,我在部署的時候就碰到,由於使用ide開發,使用了bootstrap3 ,項目部署的時候忘記安裝庫,
致使項目部署完後報錯,錯誤信息也沒提示是依賴庫的問題,直到使用runserver執行的收,提示 bootstrap3 is not defined)
(5)開始部署項目(win10) 開始菜單 >>Windows管理工具>>Internet information service
網站:右鍵>>添加網站
網站名稱本身填 物理路徑選擇項目的文件夾 端口號填一個沒有被佔用的端口便可 主機名不填
選中添加的網站 打開處理程序映射
右邊選擇添加模塊映射
請求路徑填 「*」
模塊選擇 FastCgiModule
可執行文件:「python解釋器的路徑」|wfastcgi.py文件的路徑
示例(C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe|C:\inetpub\wwwroot\DjangoWebProject1\DjangoWebProject1\wfastcgi.py)
若是提示用引號括起來,那麼將前面python解釋器的路徑用引號括起來 (路徑包含空格)
打開請求限制,取消勾選
添加環境變量:先進入主機的主頁>>FastCGI設置
雙擊你添加的網站的路徑>>點擊箭頭指的地方
添加三個變量
1. get_wsgi_application()方法的位置,
Name: WSGI_HANDLER
Value: django.core.wsgi.get_wsgi_application()
2.Django項目目錄
Name: PYTHONPATH
Value: C:\inetpub\wwwroot\DjangoWebProject1 (此處填寫項目的目錄)
3.項目settings.py文件的位置
Name: DJANGO_SETTINGS_MODULE
Value: DjangoWebProject1.settings(DjangoWebProject1是本身的項目名稱)
若是項目包含靜態文件,則須要配置靜態文件
配置靜態文件,在項目目錄調用python manage.py collectstaic命令(如以前的運行runserver方法一致)將app下static中的靜態文件所有拷貝到 settings.py 中設置的 STATIC_ROOT 文件夾中
命令運行結束後在項目的具體app路徑下的static文件夾>>admin>>新建一個文件web.config
在web.config中寫入以下內容
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
<handlers>
<clear/>
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
最後進入IIS管理器
你添加的網站>>右鍵菜單>>添加虛擬目錄
名稱:通常使用static
路徑:選擇web.config所在的目錄
最後從新啓動下網站就好了