从Visual Studio 2017在IIS上部署Flask Web应用程序

时间:2019-03-29 10:42:05

标签: python visual-studio iis flask deployment

我需要学习如何在iis上部署Visual Studio flask应用程序以从端口80上的本地主机访问,以了解如何使用Visual Studio 2017的自动生成的flask应用程序。我遇到的错误很少但是在我解决它们之后,结果是找不到最后一个错误404服务器。

我在Visual Studio 2017的python 3.6和3.4虚拟环境中都尝试过。对于Web配置和iis设置,我遵循以下指南:

https://docs.microsoft.com/it-it/visualstudio/python/configure-web-apps-for-iis-windows?view=vs-2017

https://medium.com/@bilalbayasut/deploying-python-web-app-flask-in-windows-server-iis-using-fastcgi-6c1873ae0ad8

文件app.py是Visual Studio 2017中的快速入门烧瓶应用程序,

from flask import Flask
app = Flask(__name__)

# Make the WSGI interface available at the top level so wfastcgi can get it.
wsgi_app = app.wsgi_app


@app.route('/')
def hello():
    """Renders a sample page."""
    return "Hello World!"

if __name__ == '__main__':
    import os
    HOST = os.environ.get('SERVER_HOST', 'localhost')
    try:
        PORT = int(os.environ.get('SERVER_PORT', '5555'))
    except ValueError:
        PORT = 5555
    app.run(HOST, PORT)

与我最相关的方面是Web配置中处理程序路径中的语音脚本处理器

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="app.app"/>
    <add key="PYTHONPATH" value="C:\inetpub\wwwroot\FlaskWebProject1"/>
    <add key="WSGI_LOG" value="C:\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python35\python.exe|D:\home\Python35\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

当我在python虚拟环境3.4(32bit)中工作时

C:\Python34\python.exe|C:\Python34\Lib\site-packages\wfastcgi.py

那是我找不到错误404服务器的时候。
我已经尝试在python虚拟环境3.6(64bit)上使用

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64|C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Lib\site-packages\wfastcgi.py

并且使用此设置,我得到“ FastCGI进程意外退出”。

我是这个概念的新手,我在机械地遵循指南,对Web服务器和部署选项不了解很多,而且我真的不知道我在哪里做错了。
编辑:如果这是进行下一步的最佳方法,我什至可以考虑更改部署环境(apache等)的想法。

0 个答案:

没有答案