参考文档

https://segmentfault.com/a/1190000008909201

http://blog.51cto.com/anngle/1922041

https://www.cnblogs.com/xiaolecn/p/5111076.html   --配置过程中,一直出错,最后看了这个文章

1. https://download.lfd.uci.edu/pythonlibs/n1rrk3iq/wfastcgi-3.0.0-py2.py3-none-any.whl  下载安装

pip install wfastcgi-3.0.0-py2.py3-none-any.whl

2. IIS 中启用 CGI  --我发现我已经装了

安装 URL 重写组件

IIS 需要安装 URL 重写组件,这个可以通过Microsoft Web Platform Installer来安装。

安装完毕后,运行这个Microsoft Web Platform Installer,搜索url,安装url重写工具

3.一旦wfastcgi和IIS安装完毕,用管理员的身份运行wfastcgi-enable来在IIS上启用wfastcgi配置。这个能配置一个路由处理器的CGI应用。

wfastcgi-enable

.
看到截图中的结果,这个
d:\anaconda3\python.exe|d:\anaconda3\lib\site-packages\wfastcgi.py下面要用。

上面执行的命令实际上和手动添加一样,如下图:

如果要卸载,记得在卸载之前禁用wfastcgi,运行wfastcgi-disable

wfastcgi-disable
pip uninstall wfastcgi

4.项目根目录下创建一个web.config文件

手动建立目录 D:\PythonLogs
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<!-- scriptProcessor 的值来自命令行工具 wfastcgi-enable -->
<add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="d:\anaconda3\python.exe|d:\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="MyFlask.app" />
<add key="PYTHONPATH" value="~/" /> <!-- Optional settings -->
<!-- 需要先创建日志目录,否则报错 -->
<add key="WSGI_LOG" value="D:\PythonLogs\oboeqa_web.log" />
<add key="WSGI_RESTART_FILE_REGEX" value="" />
</appSettings>
</configuration>

5.建立网站目录

把python项目拷贝到D:\website\MyFlask

6. shift鼠标右键,进入控制台,运行如下两条命令 (注,这一步不知是否正确,后来我在website目录下又执行了一遍下面的命令)

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

7. IIS中添加网站

8. 此时按照别的教程,应该已经完成了,但是此时我点击在实施过程中,用了上面的web.config后点击处理程序映射报错。

我猜想,这里的配置应该就是上面的web.config的配置。我把项目中的web.config删除后,点击‘处理程序映射’,没有报错。手动添加模块映射

注意,wfastcgi.py 请从之前记录下来的目录下拷贝到项目下面。路径一定要* , 不能写*.py

确定后

此时,发现项目中,自动添加了web.config文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="py" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\Anaconda3\python.exe|D:\website\MyFlask\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers> </system.webServer>
</configuration>

FastCGI设置:

WSGI_HANDLER    WSGI_HANDLER

PYTHONPATH       ~/                        ==》这里注意了,我一开始这里写了绝对路径,导致了我开发环境调试时,app也指向了正式的app。

应用程序池是这样的

这里要启动

最新文章

  1. 常用CSS样式
  2. Socket通信客户端设计(Java)
  3. 估值十亿美元、1.5亿用户,公司CEO却跑路了
  4. javascript 与和非
  5. DirectDraw打造极速图形引擎(Alpha混合)
  6. mac brew install redis
  7. 自定义滚动控件(Pagecontrol)
  8. AFNetWorking3.0使用 自签名证书的https请求
  9. C#_IComparer实例 - 实现ID或者yearOfscv排序
  10. Lucene全文检索系列(一)
  11. 新手必看:如何快速看懂VC++项目
  12. Windows 7各版本的主要功能区别是什么 有何不同
  13. Objective-C和Swift
  14. JavaScript 中 apply 、call 的详解
  15. ES2015 类 class 语法
  16. [Vue] vue2.0
  17. Javascript高级编程学习笔记(40)—— DOM(6)CDATASection、DocumentType
  18. vue2中使用transition
  19. CSS3 3D酷炫立方体变换动画
  20. JavaSE-基础语法(一)--数据类型及包装类

热门文章

  1. java gc --- 四种引用
  2. Java 8 Comparator: 列表排序
  3. Linked List Cycle - LeetCode
  4. centos7安装hadoop2.6.1,详细教程
  5. NOIP2016模拟赛三 Problem C: 不虚就是要AK
  6. Android JNI&amp;NDK编程小结及建议
  7. mac 配置sencha touch环境
  8. sublime的markdown插件
  9. 高校师生福利!从现在起,可以免费申请LocaSpace和Wish3D的SDK!
  10. 【开发总结】—— BABYLON 项目开发必备系列