zoukankan      html  css  js  c++  java
  • 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:anaconda3python.exe|d:anaconda3libsite-packageswfastcgi.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:anaconda3python.exe|d:anaconda3libsite-packageswfastcgi.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:PythonLogsoboeqa_web.log" />
        <add key="WSGI_RESTART_FILE_REGEX" value="" />
      </appSettings>
    </configuration>

    5.建立网站目录 

    把python项目拷贝到D:websiteMyFlask

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

    icacls . /grant "NT AUTHORITYIUSR:(OI)(CI)(RX)"
    icacls . /grant "BuiltinIIS_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:Anaconda3python.exe|D:websiteMyFlaskwfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
            </handlers>
            
        </system.webServer>
    </configuration>

     FastCGI设置:

    WSGI_HANDLER    WSGI_HANDLER

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

     

     

    应用程序池是这样的

     

     这里要启动

  • 相关阅读:
    jq判断input 复选框有没有选
    jq根据id替换修改或添加css属性
    cookie和session的关系和区别
    tp5 统一返回json格式
    tp5 上传图片(自定义图片路径)
    tp5 生成随机数
    tp5 删除图片以及文件
    tp5 上传视频方法
    tp5 跨域问题
    js替换div里的内容
  • 原文地址:https://www.cnblogs.com/lhuser/p/8473862.html
Copyright © 2011-2022 走看看