--- title: 'Project documentation template' disqus: hackmd --- 將Django部署在Windows上的IIS10 === 因為工讀時需要佈署自行開發的Django,再加上網上相關資源有些零散,所以就來簡單的紀錄一下。 <br /> ## 環境 Python 3.11.6 Django 4.2.2 wfastcgi 3.0.0  <br /><br /> 前置作業 --- 1. 安裝 Python、且有Django專案 ( 自行參考網上教學 ) 2. 安裝 wfastcgi ```gherkin= pip install wfastcgi ``` 3. 找到 wfastcgi.py <br /> 4. 將其放到專案目錄下 ( 和 manager.py 同層)  <br /><br /> 啟用IIS --- 1. 控制台 > 所有控制台項目 > 程式和功能 > 開啟或關閉Windows功能,選擇 IIS 並開始安裝  <br /> 2. 安裝 CGI  <br /> 3. 安裝完後打開瀏覽器輸入 http://127.0.0.1 訪問,若出現下列畫面代表安裝成功  <br /><br /> 新增網站 --- 1. 進入 IIS 管理員  <br /> 2. 站台 >> 新增網站  <br />  <br /> 3. 進入剛剛建立的網站,並進入"處理常式對應"  <br /> 4. 右方進入"新增模組對應"  <br />  <br /><br /> 設定 FastCGI --- 1. 進入首頁,並進入FastCGI設定  <br /> 2. 進入後可看見剛剛 CGI 所設定的  <br /> 3. 點兩下進入編輯,再進入環境變數編輯器  <br /> 4. 加入以下三個變數 * Name : WSGI_HANDLER Value : django.core.wsgi.get_wsgi_application() * Name : PYTHONPATH Value : 專案目錄路徑,即放manager.py的那個資料夾 * Name : DJANGO_SETTINGS_MODULE Value : 主APP名.settings ( ex. myapp.settings,即放settings.py的那個資料夾的名稱.settings ) <br />  <br /> 5. 完成後將會在專案目錄下自動生成 web.config 檔案,若無請自己新增一個,並輸入以下內容更改相關參數並存檔  <br /> 6. web.config ( 橘色框框請無視 ),其中三個參數須根據自身路徑及設定更改 ```gherkin= <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\ 你的專案路徑 \wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/> </handlers> </system.webServer> <appSettings> <add key="PYTHONPATH" value="剛剛設定的Value"/> <!-- The handler here is specific to Bottle; see the next section. --> <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()"/> <add key="DJANGO_SETTINGS_MODULE" value="剛剛設定的Value" /> </appSettings> </configuration> ``` <br /><br /> 啟動並瀏覽 ---  <br /> 之後等SSL跟DNS申請下來之後再來更新https相關設定吧 <br /><br /> 補充自己遇到的錯誤 --- 跳錯 Exception Value: attempt to write a readonly database --> 大機率是 USRE 對 db.sqlite3 的控制權限未打開 <br />  <br /><br /><br /><br /> ## 一些參考資料 > https://ithelp.ithome.com.tw/articles/10210064 > https://zhuanlan.zhihu.com/p/111822007 > https://home.gamer.com.tw/creationDetail.php?sn=4112824
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.