python发布IIS

参考文档

https://segmentfault.com/a/1190000008909201

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

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

https://blog.csdn.net/s69122942chuiqi/article/details/103730119?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control

 

 

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重写工具

 

 

 安装wfastcgi

 pip install wfastcgi

看看有没有装: pip show wfastcgi:

 

 

 

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

wfastcgi-enable

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

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

(这里有个备注: 注意了, 这个全局的 FastCGI其实只要设置一个就可以了, 不需要site-packages下面的那个. 这步可以不需要. 看文档后面的对项目的添加fastcgi部分即可, 他也会在这里添加的.  另外,请注意,可能有顺序.)

 

 补充, 如何通过界面添加:

 

 把python的路径和wfastcgi的路径配置进去. 

D:\Anaconda3\python.exe

D:\Anaconda3\Lib\site-packages\wfastcgi.py

 

 

 为了验证手动添加和用命令是一样的, 做如下试验:手动添加后,再执行命令, 会报错.  删除配置,后再运行命令, 又成功. 

 

  

 

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

wfastcgi-disable      (其实就是把上面的配置删除)
pip uninstall wfastcgi


  

 

 =========以下在正式机上都把MyFlask改为 ChatterBot======

 

5.建立网站目录 

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

6. shift鼠标右键,进入控制台,运行如下两条命令  

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

 

7. IIS中添加网站

 

 点击网站, 处理程序映射,添加模块映射(项目名字有点不一样, 因为我是好几次完善的文档, 项目都不一样, 请忽略项目名字的不同)

 

 

 

下面的项目目录请修改为自己的项目

注意,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。

 

 

 

 

 

 

 

然后重启iis 三种方法1、界面操作

1、界面操作

打开“控制面板”->“管理工具”->“服务”。找到“IIS Admin Service” 右键点击“重新启动” 弹出 “停止其它服务” 窗口,点击“是”。


2、Net 命令操作

点击 “开始”->“运行”,输入cmd 打开命令窗口;

输入 net stop iisadmin /y 回车停止IIS;再输入 net start iisadmin 回车启动IIS;再输入 net start w3svc 回车WEB服务。


3、IISReset 命令操作 (荐)

点击 “开始”->“运行”,输入iisreset 回车。

 

 

 

backup=============================================================

 

应用程序池是这样的

 

 

 这里要启动

 

 

 

posted @ 2018-02-26 16:23  Daniel_Lu  阅读(664)  评论(0编辑  收藏  举报