WIN7 IIS部署flask web项目

参考资料:

http://www.cnblogs.com/liluping860122/p/9203908.html

https://segmentfault.com/a/1190000008909201

https://blog.csdn.net/david_lee13/article/details/81985847

https://www.jianshu.com/p/a87a9ecbde71

 

涉及工具和平台

  • Windows 7 x64

  • IIS

  • Python 3.4

  • Flask

  • pymysql

  • pandas

文件结构

安装python

 

安装 IIS,启用 CGI

在控制面板搜索“打开或关闭 Windows 功能”

安装 URL 重写组件

下载地址:https://www.microsoft.com/web/downloads/platform.aspx

下载完成后安装。

打开IIS管理器:

双击,打开Web平台安装程序

安装CGI(搜索CGI)和URL 重写组件(搜索URL)

安装pip

下载pip

地址:https://pypi.org/project/pip/#files

解压下载的压缩包至工作目录下(如D:\),打开Windows cmd,运行如下命令进入解压后的pip目录:

cd /d D:\pip-18.1

使用如下命令进行安装:

python setup.py install

pip常用命令:

#安装包
pip install xxx
 
#升级包,可以使用-U 或者 --upgrade
pip install -U xxx
 
#卸载包
pip uninstall xxx
 
#列出已安装的包
pip list

安装virtualenv虚拟环境

pip install virtualenv

创建虚拟环境

cd /d D:\saintLocal
virtualenv venv8085

进入虚拟环境

# 进入虚拟环境文件
cd venv8085
# 进入相关的启动文件夹
cd Scripts

activate  # 启动虚拟环境

安装项目需要的模块

# pip freeze > requirements.txt #生成requirements.txt
pip install -r requirements.txt #安装requirements.txt依赖

安装wfastcgi(注:这里是全局安装,不是在虚拟环境安装。)

deactivate # 退出虚拟环境
pip install wfastcgi

在python3.6的安装目录:  Lib/site-packages文件夹下,找到: wfastcgi.py  这个文件。

把这个文件拷贝到你的项目根目录:

启用wfastcgi

cd到wfastcgi.py所在目录后执行(或者将目录路径添加到PATH)。

创建web.config 文件并置于上一级目录

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <!-- scriptProcessor 的值来自命令行工具 wfastcgi-enable -->
      <add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="e:\anaconda3\python.exe|e:\anaconda3\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
    </handlers>
    <security> 
        <!-- URL 重写中的特殊字符,比如加号+等等 -->
        <requestFiltering allowDoubleEscaping="true"></requestFiltering> 
    </security> 
  </system.webServer>
 
  <appSettings>
    <!-- Required settings -->
    <!-- 在这里指定Falsk app在模块中的具体位置 -->
    <add key="WSGI_HANDLER" value="app.app" />
    <add key="PYTHONPATH" value="~\" />
 
    <!-- Optional settings -->
    <!-- 需要先创建日志目录,否则报错 -->
    <add key="WSGI_LOG" value="C:\logs\oboeqa_web.log" />
    <add key="WSGI_RESTART_FILE_REGEX" value="" />
  </appSettings>
</configuration>

配置 IIS 目录及权限

现在你需要让IIS用户拥有访问和执行你的网站脚本的权限,进入 D:\saintLocal目录:

cd D:\saintLocal

然后执行下面两条命令:

icacls . /grant "NT AUTHORITY\IUSR:(OI)(CI)(RX)"
icacls . /grant "Builtin\IIS_IUSRS:(OI)(CI)(RX)"

 

IIS添加应用

在你的网站下面找到【处理程序映射】如图:双击打开:

添加模块映射:  大家注意图片中标注的第2条。(D:\saintLocal\venv8085\Scripts\python.exe|e:\anaconda3\lib\site-packages\wfastcgi.py) 前面部分为虚拟环境路径,| 号后面是项目里的wfastcig.py路径。请求限制中把(映射下面的√去掉)。

确认添加模块

这个时候你应该可以看见你的FlaskFastCGI程序了

回到IIS控制台,进入【FastCGI设置】如图:

双击打开你应该可以看见刚才添加的FastCGI:

双击,编辑 —【环境变量】

这里添加2个变量:

PYTHONPATH    值为:  项目路径:(如:D:\saintLocal\ZZ_8085)

WSGI_HANDLER  值为: 项目启动文件中的app,如图,因为我是通过app.py启动。

 

回收应用程序池,重启IIS

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值