Python開發入門與實戰15-IIS部署

15. IIS部署

前面的章節咱們完成了基本的業務功能的開發,本章節咱們來講說python django項目如何部署到實際的運行環境,完成開發系統的發佈工做。python

Python Django 項目部署發佈到windows iis環境,運行環境以下:mysql

操做系統:windows 8.1web

IIS版本:8.5sql

Python版本:2.7數據庫

Django版本:1.4apache

15.1. IIS服務添加CGI組件

在操做系統的啓用或關閉windows功能裏添加IIS CGI組件,如已添加忽略。django

image

15.2. IIS服務添加FAST CGI組件

打開IIS管理器時,系統會提示以下圖,選擇是:windows

image

或者訪問網址:http://www.microsoft.com/web/downloads/platform.aspx,進入web安裝平臺程序,搜索FastCGI關鍵字。oracle

image

image

 

安裝WFastCGI2.1Gateway for IIS and Python 2.7.9組件,安裝完成後在C:\Python27\Scripts\目錄下會增長wfastcgi.py文件。app

image

15.3. 拷貝wfastcgi.py文件到項目manage.py相同目錄下

把項目文件拷貝到C:\inetpub\wwwroot\mysite目錄下,同時,複製wfastcgi.py到本目錄下。

image

15.4. IIS建立站點

咱們把項目文件拷貝到IIS 的wwwroot目錄下,建立IIS站點,以下圖:

image

筆者注:IIS的項目發佈目錄最好在wwwroot下,能夠避免不少windows權限問題。

另外拷貝文件後,注意修改setting.py裏的數據庫目錄。

DATABASES = {
    'default': {
        # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'ENGINE': 'django.db.backends.sqlite3',
        # Or path to database file if using sqlite3.
        'NAME': 'C:\\inetpub\\wwwroot\\mysite\\MyDB.db',
        # Not used with sqlite3.
        'USER': '',
        # Not used with sqlite3.
        'PASSWORD': '',
        # Set to empty string for localhost. Not used with sqlite3.
        'HOST': '',
        # Set to empty string for default. Not used with sqlite3.
        'PORT': '',
    }
}

 

15.5. 添加處理程序映射

IIS 管理器中選擇站點mysite,選中該站點的「處理程序映射」設置。

image

在「處理程序映射」設置中,右鍵選擇「添加模塊映射」菜單。

image

image

輸入完配置信息,點擊「請求限制(R)…」,確保映射tab頁CheckBox不被選中。

而後,點擊兩次「肯定」按鈕,系統會彈出以下提示框:

「要爲此可執行文件建立 FastCGI 應用程序嗎? 單擊「是」將此項添加到 FastCGI 集合中,以及容許此可執行文件做爲 FastCGI 應用程序運行。」

點擊[是]

image

15.6. 修改咱們的web.config文件只保留以下代碼

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated web.config for Microsoft Azure. Remove this comment to prevent
     modifications being overwritten when publishing the project.
-->
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
    <add key="PYTHONPATH" value="%ROOTDIR%" />
    <add key="DJANGO_SETTINGS_MODULE" value="mysite.settings" />
  </appSettings>

</configuration>

完成部署,在IIS管理器中從新啓動mysite站點。

15.7. 訪問發佈的網站

image

咱們訪問基於模板的頁面,頁面是能正常訪問的,可是訪問基於Extjs的inventoryQueryExtjs頁面,頁面不能正常顯示。這是Extjs相關的靜態文件目錄沒有正常部署的緣故。

15.8. 靜態文件部署

根據setting.py靜態文件目錄的配置,咱們項目目錄下建立一個static的文件目錄

image

在cmd命令窗口進入到項目目錄下,執行命令:

python manage.py collectstatic

image

而後,在iis管理器mysite站點下添加static虛擬目錄:

image

注:最後刪除虛擬目錄處理程序映射中的Django handler處理器。

image

咱們再訪問網站的inventoryQueryExtjs頁面,頁面正常顯示,如今完成了示例網站的IIS發佈工做。

image

15.9. 小結

本章節咱們完成了在IIS平臺部署咱們的django項目,採用的是「處理程序映射」的Fast CGI來實現django項目的解析處理。下一章節咱們將描述如何部署django 的windows apache平臺。

相關文章
相關標籤/搜索