溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python web在IIS上發(fā)布方法和原理是什么

發(fā)布時間:2021-10-14 16:26:20 來源:億速云 閱讀:117 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關Python web在IIS上發(fā)布方法和原理是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

  Pythonweb應用想要發(fā)布使用iis發(fā)布有兩種方式,這篇文章就為大家介紹一下這兩種方式的具體實現(xiàn):

配置HttpPlatform程序

  HttpPlatform模塊將套接字連接直接傳遞到獨立的Python進程。借助此傳遞可根據(jù)需要運行任何Web服務器,但需要用于運行本地Web服務器的啟動腳本。在web.config的元素中指定腳本,其中processPath屬性指向站點擴展的Python解釋器,arguments屬性指向腳本和希望提供的任何參數(shù)

  此處顯示的HTTP_PLATFORM_PORT環(huán)境變量包含端口,本地服務器使用該端口偵聽來自localhost的連接。

  配置FastCGI處理程序

  FastCGI是在請求級別工作的接口。IIS接收傳入的連接,并將每個請求轉發(fā)到在一個或多個持久Python進程中運行的WSGI應用。

  若要使用wfastcgi包,請先安裝并配置它,如pypi.org/project/wfastcgi/所述。

  接下來,將應用的web.config文件修改為,在PythonHandler鍵中添加python.exe和wfastcgi.py的完整路徑。

  修改web.config中的PythonHandler條目,讓路徑與Python安裝位置一致。

  在web.config的部分中,為WSGI_HANDLER、WSGI_LOG(可選)和PYTHONPATH添加鍵

  PYTHONPATH的值可以自由擴展,但必須包括你的應用的根目錄,他擴展了sys.path,可以在這個路徑下找到import的包。

  WSGI_HANDLER必須指向可從你的應用導入的WSGI應用,針對不同的框架,這個值也有一些區(qū)別,下面是一些例子。

  1.Bottle:確保app.wsgi_app后面有括號,如下所示。此操作是必需的,因為該對象是函數(shù)而非變量:

  < !--Bottleappsonly-->

  < addkey="WSGI_HANDLER"value="app.wsgi_app()"/>

  2.Flask:將WSGI_HANDLER值更改為

.app,其中與項目名稱匹配。可通過查看runserver.py中的fromimportapp語句,找到準確的標識符。例如,如果項目命名為“FlaskAzurePublishExample”,則該條目如下所示:

  < !--Flaskappsonly:changetheprojectnametomatchyourapp-->

  < addkey="WSGI_HANDLER"value="flask_iis_example.app"/>

  3.Django:對于Django項目,需要對“web.config”進行兩項更改。首先,將WSGI_HANDLER值更改為django.core.wsgi.get_wsgi_application()(該對象位于wsgi.py文件中):

  < !--Djangoappsonly-->

  < addkey="WSGI_HANDLER"value="django.core.wsgi.get_wsgi_application()"/>

  其次,在WSGI_HANDLER條目下添加以下條目,并將DjangoAzurePublishExample替換為項目名稱:

  < addkey="DJANGO_SETTINGS_MODULE"value="django_iis_example.settings"/>

  WSGI_LOG為可選,但建議在調試應用時使用,記錄日志。

關于Python web在IIS上發(fā)布方法和原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI