python发布IIS

参考文档

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。

 

 

 

 

 

 

 

应用程序池是这样的

 

 

 这里要启动

 

 

 

转载于:https://www.cnblogs.com/lhuser/p/8473862.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值