在windows 2008 server 的IIS 7上執行 django 1.11 + python 3.6
緣起
使用django
開發了一個專案,客戶的技術體系是全棧window
的,所以要求我們提供把專案部署到windows
伺服器的服務。
寫這個原因是舊的在 windows 上執行python網站程式的文件,基本上全過時了。
從macOS登陸windows伺服器
嗯,需要安裝 Microsoft Remote Desktop
,版本是 8.0.x。需要注意的是微軟官網的下載連結是直接連結到app store,而該App在中國區不上架,所以下載不了。最後解決問題是同事在網上找到了個下載版。
登陸的時候,還有一個要注意的就是在配置的session
那裡勾選Connect to admin session
注:MS Office 2011 for Mac 自帶的那個RDC不行了,版本2.1.x的,一登陸就證書不對之類的,是登陸不上去的。
安裝 Python
這個很容易,直接在python
官網下載就行,我下載的是64位的版本,因為是64位的機器,需要往下拉一下頁面才能找到,直接點Download按鈕下載的是32位的。
安裝的時候,有兩個地方要特別注意,一是要勾選Add to PATH
,二是一定要把它安裝到沒有空格的路徑下,比如c:\python36
,不要使用預設的c:\Program files\python36
python
解決的。
安裝 wfastcgi
在windows
上跑django
或其它python
網站程式,用IIS
是最正確的,使用 apache/nginx
會更加難管理。但是IIS
不支援wsgi,而django
自1.7起就棄用了fastcgi,在1.9的時候更是刪除了,所以我們編寫的網站程式無法直接跑在IIS
上,因為我們用的是1.11版本,太新了。
wfastcgi
是當前唯一、唯一、唯一可用可靠的把wsgi橋接到fastcgi的方案,之前花好幾天看到的,基本上都過時了,那些基本django
1.2/1.4版本寫的文章,丟掉吧,別看了,完全沒有用處。github上有個django-windows-tools
Installing Django on IIS: A Step-by-Step Tutorial
流毒甚廣,別看了。那些帶有PyISAPIe
、isapie-wsgi
字樣的,統統都不靠譜,見到就閃吧。
wfastcgi
感覺生命力會長久一些,因為它其實出自微軟自身,根正苗紅,也有Azure雲端計算的需要。開發它的團隊是Python Tools for Visual Studio的那幫人,實力強勁。
安裝好python
以後,開個Power Shell新視窗,執行pip install wfastcgi
就可以安裝成功了。然後再執行一下wfastcgi-enable
命令啟用它即可,成功執行後,會輸出一個目錄,告訴你可以把它加到配置檔案(稍後講)。
安裝 git
當然了,首先要把專案的程式碼 clone 到本地。需要安裝git
,具體用法就不說了。不過安裝的時候,有一個很重要的點,就是問你要使用哪個加密庫。預設是使用 OpenSSL
,我是原生黨,所以改選了使用有windows native字樣的那個,結果後來使用 git 的時候,驗證賬號密碼一直出錯,坑死爹爹了。切記這裡不要亂選了。
程式碼一定要用 manager.py runserver
本地跑一下啦,只要依賴的包裝好了,一般而言是沒有問題的。然後可以進入下一步。
配置 web.config
在IIS
中新建一個網站,把域名分配過去就好。然後在manager.py
的同級目錄新建一個文字檔案web.config
,裡面的內容有個模板可以套:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="Python FastCGI"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="<Path to Python>\python.exe|<Path to Python>\lib\site-packages\wfastcgi.py"
resourceType="Unspecified"
requireAccess="Script"/>
</handlers>
</system.webServer>
<appSettings>
<add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
<add key="PYTHONPATH" value="<Path to Django App>" />
<add key="DJANGO_SETTINGS_MODULE" value="<Django App>.settings" />
</appSettings>
</configuration>
scriptProcessor
的值,要改為前文說過的執行wfastcgi
輸出的那個值。PYTHONPATH
的value要改為manager.py
的那個目錄,也就是你專案的根目錄。DJANGO_SETTINGS_MODULE
的value中的<Django App>
要改為你的專案名。
然後重啟一下你的網站,域名沒有錯的話,應該就可以訪問了。
嗯,就是這麼簡單,這麼霸道。但我不會告訴你我找資料的那240個小時的。
如果你看到頁面沒有css
樣式了,應該是找不到靜態檔案,執行一下manager.py collectstatic
應該就好了。
另外,為了讓靜態檔案的處理不經過Python
這一層,建議往static
和media
目錄下各放一個web.config
檔案,內容都是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="Python FastCGI" />
</handlers>
</system.webServer>
</configuration>
記得如果你改過最前面的web.config
檔案中的name
值,這裡也要對應。這樣就可以在獲取靜態檔案的時候快一點了。
參考:
相關推薦
在windows 2008 server 的IIS 7上執行 django 1.11 + python 3.6
緣起 使用django開發了一個專案,客戶的技術體系是全棧window的,所以要求我們提供把專案部署到windows伺服器的服務。 寫這個原因是舊的在 windows 上執行python網站程式的文件,基本上全過時了。 從macOS登陸windows伺服器
Windows 2008 server + IIS 7 設置身份模擬(ASP.NET impersonation)
oid thead tar level 現在 如果 system out 編輯框 IIS7 與 IIS 6 相比有了很大的改動,原來在 IIS 6 下可以的設置到了 IIS 7 下有的會發生變化。身份模擬的配置上,IIS7 和 IIS6有很大不同,網上IIS6的
在Windows 2008 R2高階機器上執行SQL Server 2008時,CPU個數的考量
我們知道SQL Server所能檢測到的CPU是邏輯CPU個數。而不是物理CPU個數。雙核CPU對於SQL Server來講,是兩個邏輯CPU,如果有超執行緒的話,CPU個數還要翻一倍。邏輯CPU個數,通常能在Windows 的Task Manager裡顯示出來, 在CPU Usage Histo
django 1.11.16 +Python3.6 + xadmin 的坑
1、首先安裝就會有一個坑,很多教程的安裝是直接在虛擬環境下使用 pip install xadmin 或者 pip install django-xadmin 事實證明 Django2+xadmin2的版本是行不通的, 正確方法是通過官方的github https://github.co
Windows 2008 IIS 7上使用Excel
用asp.net開發WEB應用,其中涉及到excel的操作有2種:excel檔案的上傳並從表格的單元格中讀取資料寫入資料庫,從伺服器上產生資料並以excel的形式下載。這些操作在本地開發環境下;在伺服器上用localhost訪問;客戶端遠端桌面連線上伺服器,客戶端訪問這三種
IIS 7.5上配置執行Python 3.6+Django 網站
因業務切換,將原先的CentsOS換成Windows 2008 R2作業系統,重新部署了下Django網站,現將過程記錄下: 1、安裝Winodws版的Python 3.6環境,直接下載Anaconda3-4.3.1-Windows-x86_64.exe整
iis 7上發布mvc報錯:403.14-Forbidden Web 服務器被配置為不列出此目錄的內容
OS asp 影響 directory spn 內容 server 解決 並且 iis 7上發布mvc報錯:403.14-Forbidden Web 服務器被配置為不列出此目錄的內容 提示裏面的解決方法是: 如果不希望啟用目錄瀏覽,請確保配置了默認文檔並且該文件存在
風河虛擬化元件使用說明(19)—— 在目標機GuestOS VxWorks 7上執行DKM工程,測試SOEM Demo
參考文件“vxworks_7_kernel_application_tutorial_workbench4.pdf”。 按照文件建立DKM工程的方法,建立vx_soem工程,選擇基於vx_vip工程: SOEM是開源EtherCAT主站程式碼,目前已
windows 2008 R2 IIS伺服器配置PHP開發環境
前言:公司的業務所有都是.net 開發。所以所有的網站都在IIS伺服器。嘗試過用phpstudy的apache+mysql 來搭建php執行環境,結果apache 80埠 與IIS伺服器的80埠衝突,所以此方案不行。索性在IIs上配置php執行環境。以下是配置的整個過程。
Windows 2008 server r2 整合usb3.0驅動
在生產工作中發現,現在大部分新生產的機器主機板都將usb的介面更換成usb3.0,而作為前置機的裝置安裝的windows 2008 server r2系統本身並沒有usb3.0驅動,導致安裝啟動U盤不能正常安裝作業系統,現將Windows 2008 server r2 整合usb3.0的方法分享給大家。一 ·
web專案部署到CentOs 7上執行
環境準備 JDK 如果你的虛擬機器上還沒有JDK環境你可以參照我的CentOs 7S下安裝JDK8去安裝 Tomcat 如果你的虛擬機器上還沒有Tomcat環境你可以參照我的CentOs 7下安裝Tomcat8去安裝 Mysql Mysql是非必須的
用Wineskin 讓Windows 的程式在Mac 上執行
轉 https://blog.csdn.net/chenhe81/article/details/79293767 Mac Book 是個好東西不過很多小程式只有Windows 版本讓人很頭疼,裝個虛擬機器吧,不值當的。裝個雙系統更沒有必要,難道還要背兩個本
iis 7 上傳大檔案 出現的 HTTP 404 問題
公司有個專案 要求上傳附件大小限制在50MB,原本以為可以輕鬆搞定。在編譯模式下可以上傳大檔案,可是在IIS7下(自己架的伺服器),一上傳大的檔案就會出現 Http 404錯誤,偶爾有的檔案還有IO. error錯誤。一直搞不明白,在網上搜索大概瞭解上傳控制元件分為兩種上傳模式: 1,將檔案一次性讀到記憶體
linux centos 7上執行teamviewer與找不到ID問題處理辦法
以前在raspberryPi上搞過teamviewer,現在用了CentOS伺服器,搞了一個vpn,訪問還有點問題,時間緊張,就先給teamviewer。 而centos7 上安裝也比較簡單,幾條命令就可以了,但是往往很多人回到找不到ID的問題,這裡簡答記錄一下。 安裝步驟: [[email
關於在IIS伺服器上執行asp.net Web程式出現下面 “Could not load file or assembly。。。”問題的
Could not load file or assembly 'System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of
遠端為伺服器安裝Windows 2008 Server
命苦,老早就定好10.1期間要把伺服器重新安裝一次,今天反正也沒有事情,來嘗試下遠端安裝,因為以後的MOSS公司要遠端的管理和使用 先登入到遠端控制卡的管理地址 然後輸入使用者名稱和密碼,以下是登入成功後的介面 然後在左側的功能樹中選擇“介質”,會提示你安裝一個
windows 2008 server中iis7.0部署網站
公司開始讓我部署在這伺服器上部署網站,開始沒搞過,在網上搜出來的雜七雜八的,所以總結一下,方便以後其他人做個參考 首先要安裝iis web服務,這個很簡單,1,開啟伺服器管理器,選擇角色,選擇新增角色就行了,之後就按照一步一步來就行了 2.安裝好iis後,點選資訊管理,選擇
Windows 2008 R2 64位上安裝wamp失敗的原因
因測試PHP程式需要,需要在windows系統上佈署WAMP環境測試程式,對效能不作具體要求,選擇WAMP Server進行快速佈置。 系統環境:Windows 2008 R2 按照正常windows安裝程式,完成WAMP Server程式安裝,
在CentOS 7上使用Yum源安裝 Zabbix 3.2
zabbix mysql centos 在CentOS 7上使用Yum源安裝 Zabbix 3.2 1. 環境準備[[email protected]/* */ ~]# setenforce 0 [[email protected]/* */ ~]# sed -i "s/S
Django 1.11 使用命令makemigrations命令無法執行表修改動作
article 過程 tails django down .net migrate nag code 由於在學習過程中,遇到models模型變動,變動後合並發生問題,故當時做了刪除應用文件夾下migrations文件,由於數據庫裏無較多新數據,故刪除後重建,但重建後執行模型