python flask在IIS上部署

1、安装python
2、pip install wfastcgi
3、使用管理员权限打开cmd,执行wfastcgi-enable。执行成功后,在IIS管理器中可查看结果:

4、添加website或application
5、可手动添加web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="server" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\python\python.exe|C:\python\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
    </system.webServer>
    <appSettings>
        <add key="WSGI_HANDLER" value="server.app" /> # server.py中的app
        <add key="PYTHONPATH" value="D:\msgtopdf" /> # 程序路径
	<add key="WSGI_LOG" value="D:\msgtopdf\logs\flaskr_web.log" />
    </appSettings>
</configuration>

6、若有二级目录,可改成如下:

class PrefixMiddleware(object):

    def __init__(self, app, prefix=''):
        self.app = app
        self.prefix = prefix

    def __call__(self, environ, start_response):

        if environ['PATH_INFO'].startswith(self.prefix):
            environ['PATH_INFO'] = environ['PATH_INFO'][len(self.prefix):]
            environ['SCRIPT_NAME'] = self.prefix
            return self.app(environ, start_response)
        else:
            start_response('404', [('Content-Type', 'text/plain')])
            return ["This url does not belong to the app.".encode()]

prefix = '/xxxx'  # 改成你需要的URL前缀
app = Flask(__name__)
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix=prefix)
posted @ 2022-03-09 16:43  Cody&  阅读(713)  评论(0)    收藏  举报