我需要学习如何在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
文件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等)的想法。