在IIS中使用FastCgi搭建使用flask框架的python网站

时间:2017-06-01 作者: 73人已阅读 学习笔记

1.新建项目

新建一套测试的flask项目(默认python基础环境已搭建好),主要包含以下文件


在命令行下通过pip install flask 安装flask框架,然后在本机的任一目录建立一个test的文件夹,文件夹中包含以下内容:



其中主要`run.py`和`hello/__init__.py`的内容分别如下

#coding:utf-8
#! run.py
from hello import app
app.run(port=8100)


```python

#!__init__.py

#coding:utf-8

from flask import Flask

app = Flask(__name__)


@app.route('/')

@app.route('/index')

def index():

return 'hello world'


```


建好flask项目之后,通过`python run.py` 运行可以看到


我们通过浏览器输入 http://127.0.0.1:8100 可以看到Hello world,则说明已经成功的建立起一个基于flask框架的web项目



## 2.安装wfastcgi


同样的通过pip命令安装wfastcgi   `pip install wfastcgi`

安装后在python的安装目录下找到 `Lib\site-packages` 文件夹,把其中的wfastcgi文件复制出来,粘帖至项目文件夹test的根目录下



## 3.IIS下配置网站

打开IIS,新建一个网站,按照如下图配置,这里物理路径选择我们建立的web项目的根目录,端口设置为8102



项目建立成功之后,必须进入到项目的主页面设置处理程序映射,特别注意,必须进入到项目的目录下。



进入处理程序映射模块之后点击右边的`添加模块映射`,可以看到如下的页面设置



请求路径:`*`

模块 选择:FastCgiModule

可执行文件: python主目录|项目下的wfastcgi,特别注意中间有个“|”

名称:可任意命名

配置完上面的内容之后点击下面的`请求限制`按钮



映射这块的勾默认不选

点击`确定`之后返回原界面,再点击点击`确定`按钮,则弹出以下的对话框



点击`是`之后则FastCGI配置完成,我们在列表中可以看到



配置完上面的步骤之后,进入到IIS主页,点击进入FastCGI设置



双击我们已配置的python.exe,进入到以下的设置界面



这时我们通过对环境变量进行设置,来配置我们的项目



双击环境变量这一项,在弹出的界面中录入两个参数




其中 PYTHONPATH 配置的是项目的根目录test


WSGI_HANDLER则是配置应用的名称,也就是`hello/__init__.py` 文件中  `app = Flask(__name__)` 中的这个app


配置完成之后在浏览器输入:http://127.0.0.1:8102/ 可以看到hello world ,就说明项目已经配置成功了。


## 4.IIS下配置django项目

django项目的配置基本步骤基本类似于flask框架,只是在FastCGI 环境变量中,配置的参数不同。django中需要配置的参数如下:


WSGI_HANDLER : django.core.handlers.wsgi.WSGIHandler()

PYTHONPATH : 网站根目录

DJANGO_SETTINGS_MODULE : django settings文件位置