国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > IIS > 正文

windows 2008 server+IIS 7如何運(yùn)行 django 1.11 + python 3.6

2024-08-29 03:10:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  緣起
  
  使用django開(kāi)發(fā)了一個(gè)項(xiàng)目,客戶(hù)的技術(shù)體系是全棧window的,所以要求我們提供把項(xiàng)目部署到windows服務(wù)器的服務(wù)。
  
  寫(xiě)這個(gè)原因是舊的在 windows 上運(yùn)行python網(wǎng)站程序的文檔,基本上全過(guò)時(shí)了。
  
  從macOS登陸windows服務(wù)器
  
  嗯,需要安裝 Microsoft Remote Desktop,版本是 8.0.x。需要注意的是微軟官網(wǎng)的下載鏈接是直接鏈接到app store,而該App在中國(guó)區(qū)不上架,所以下載不了。最后解決問(wèn)題是同事在網(wǎng)上找到了個(gè)下載版。
  
  登陸的時(shí)候,還有一個(gè)要注意的就是在配置的session那里勾選Connect to admin session。也許只是用Administrator賬號(hào)登陸的話(huà)才需要,我沒(méi)試其它賬號(hào)。
  
  注:MS Office 2011 for Mac 自帶的那個(gè)RDC不行了,版本2.1.x的,一登陸就證書(shū)不對(duì)之類(lèi)的,是登陸不上去的。
  
  安裝 Python
  
  這個(gè)很容易,直接在python官網(wǎng)下載就行,我下載的是64位的版本,因?yàn)槭?4位的機(jī)器,需要往下拉一下頁(yè)面才能找到,直接點(diǎn)Download按鈕下載的是32位的。
  
  安裝的時(shí)候,有兩個(gè)地方要特別注意,一是要勾選Add to PATH,二是一定要把它安裝到?jīng)]有空格的路徑下,比如c:/python36,不要使用默認(rèn)的c:/Program files/python36,你在后面會(huì)被折騰死,我不會(huì)告訴你我浪費(fèi)了一天的時(shí)間,最后重裝python解決的。
  
  安裝 wfastcgi
  
  在windows上跑django或其它python網(wǎng)站程序,用IIS是最正確的,使用 apache/nginx會(huì)更加難管理。但是IIS不支持wsgi,而django自1.7起就棄用了fastcgi,在1.9的時(shí)候更是刪除了,所以我們編寫(xiě)的網(wǎng)站程序無(wú)法直接跑在IIS上,因?yàn)槲覀冇玫氖?.11版本,太新了。
  
  wfastcgi是當(dāng)前唯一、唯一、唯一可用可靠的把wsgi橋接到fastcgi的方案,之前花好幾天看到的,基本上都過(guò)時(shí)了,那些基本django1.2/1.4版本寫(xiě)的文章,丟掉吧,別看了,完全沒(méi)有用處。github上有個(gè)django-windows-tools的項(xiàng)目,也過(guò)時(shí)了,七八年前的了,別看了;也有一篇相關(guān)的文章,Installing Django on IIS: A Step-by-Step Tutorial流毒甚廣,別看了。那些帶有PyISAPIe、isapie-wsgi字樣的,統(tǒng)統(tǒng)都不靠譜,見(jiàn)到就閃吧。
  
  wfastcgi感覺(jué)生命力會(huì)長(zhǎng)久一些,因?yàn)樗鋵?shí)出自微軟自身,根正苗紅,也有Azure云計(jì)算的需要。開(kāi)發(fā)它的團(tuán)隊(duì)是Python Tools for Visual Studio的那幫人,實(shí)力強(qiáng)勁。
  
  安裝好python以后,開(kāi)個(gè)Power Shell新窗口,運(yùn)行pip install wfastcgi就可以安裝成功了。然后再運(yùn)行一下wfastcgi-enable命令啟用它即可,成功運(yùn)行后,會(huì)輸出一個(gè)目錄,告訴你可以把它加到配置文件(稍后講)。
  
  安裝 git
  
  當(dāng)然了,首先要把項(xiàng)目的代碼 clone 到本地。需要安裝git,具體用法就不說(shuō)了。不過(guò)安裝的時(shí)候,有一個(gè)很重要的點(diǎn),就是問(wèn)你要使用哪個(gè)加密庫(kù)。默認(rèn)是使用 OpenSSL,我是原生黨,所以改選了使用有windows native字樣的那個(gè),結(jié)果后來(lái)使用 git 的時(shí)候,驗(yàn)證賬號(hào)密碼一直出錯(cuò),坑死爹爹了。切記這里不要亂選了。
  
  在這里說(shuō)一下題外話(huà),安裝git的時(shí)候,可以把跟Cygwin相關(guān)的選項(xiàng)取消掉,使用GOW即可,非常好用,基本上常用的命令都有了,安裝GOW之后,在Power Shell中用起來(lái)感覺(jué)跟在macOS的終端下的體驗(yàn)有得一拼。官網(wǎng):https://github.com/bmatzelle/gow ,支持的命令列表:https://github.com/bmatzelle/gow/wiki/executables_list 。
  
  代碼一定要用 manager.py runserver本地跑一下啦,只要依賴(lài)的包裝好了,一般而言是沒(méi)有問(wèn)題的。然后可以進(jìn)入下一步。
  
  配置 web.config
  
  在IIS中新建一個(gè)網(wǎng)站,把域名分配過(guò)去就好。然后在manager.py的同級(jí)目錄新建一個(gè)文本文件web.config,里面的內(nèi)容有個(gè)模板可以套:
  
      <?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的值,要改為前文說(shuō)過(guò)的運(yùn)行wfastcgi輸出的那個(gè)值。PYTHONPATH的value要改為manager.py的那個(gè)目錄,也就是你項(xiàng)目的根目錄。DJANGO_SETTINGS_MODULE的value中的<Django App>要改為你的項(xiàng)目名。
  
  然后重啟一下你的網(wǎng)站,域名沒(méi)有錯(cuò)的話(huà),應(yīng)該就可以訪(fǎng)問(wèn)了。
  
  嗯,就是這么簡(jiǎn)單,這么霸道。但我不會(huì)告訴你我找資料的那240個(gè)小時(shí)的。
  
  如果你看到頁(yè)面沒(méi)有css樣式了,應(yīng)該是找不到靜態(tài)文件,執(zhí)行一下manager.py collectstatic應(yīng)該就好了。
  
  另外,為了讓靜態(tài)文件的處理不經(jīng)過(guò)Python這一層,建議往static和media目錄下各放一個(gè)web.config文件,內(nèi)容都是:
  
  記得如果你改過(guò)最前面的web.config文件中的name值,這里也要對(duì)應(yīng)。這樣就可以在獲取靜態(tài)文件的時(shí)候快一點(diǎn)了。
  
  參考:
  
  https://pypi.python.org/pypi/wfastcgi
  
  http://kronoskoders.logdown.com/posts/1074588-running-a-django-app-on-windows-iis
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广西| 黑龙江省| 长海县| 瑞昌市| 葵青区| 五家渠市| 澳门| 宜宾县| 娱乐| 剑河县| 开封市| 沙河市| 宁海县| 六盘水市| 太仆寺旗| 当涂县| 嘉祥县| 宁化县| 长治市| 攀枝花市| 常州市| 天气| 美姑县| 瑞安市| 新泰市| 宜都市| 文化| 楚雄市| 盐边县| 任丘市| 将乐县| 阳曲县| 车致| 西安市| 汝南县| 石景山区| 铁力市| 德庆县| 巩留县| 安达市| 日照市|