python - 如何在 IIS 服务器中配置 Flask 应用程序?
问题描述
我开发了一个 Flask 应用程序。我受到在 IIS 服务器上运行此应用程序的限制。我访问了各种网站,了解如何配置和准备步骤。在配置的几个地方,我对路径感到困惑。我想我需要验证我所采取的每一步。
我的烧瓶应用程序名称是tourismmining
,目录的内容列在下面
应用结构
我的应用程序的结构如下。
tourismmining
|-> instance
|-> mining
|-> resources
|-> entry.py
|-> installation.txt
|-> License
|-> Procfile
|-> README.rst
|-> requirements.txt
核心应用在目录mining
中,结构如下
mining
|-> config
|-> db
|-> exceptions
|-> files
|-> forms
|-> logs
|-> models
|-> sink
|-> static
|-> templates
|-> __init__.py
|-> main.py
|-> utils.py
所以,一般不使用 IIS 服务器,只是通过烧瓶本地服务器,我曾经运行下面的命令
cd tourismmining
python -m mining.main
下面是输出
在旅游采矿中,我编写了另一个名为 entry.py 的文件,它包含
from mining import app
if __name__ == '__main__':
app.run(debug=True)
我entry.py
使用以下命令运行文件
cd tourismmining
python entry.py
我展示了两种访问我的应用程序的方法。现在,我访问了很多关于如何配置 IIS 服务器的网站,在众多网站中,我选择了两种配置 IIS 服务器的方法。我想知道我的方法是否正确。
方法#1
步骤#1:设置网站
在设置站点阶段时,我必须将应用程序移动到inetpub/wwwroot
. 我有点困惑。
现在,当我需要移动整个网站时,我必须将目录touristmining 复制到C:\inetpub\wwwroot。不是吗?
步骤#2:创建一个网站
在应用程序的根目录下创建一个新网站,下面是从随机网站中挑选的快照
根据上面的截图,
Site name: tourism
Physical Path: c:\inetpub\wwwroot\tourismmining and the Click Ok.
步骤#3:添加模块映射
双击处理程序映射并向右,我会找到“添加模块映射”。打开添加模块映射后,下面是随机网站的屏幕截图。
我的应用程序的参数将按照上面的截图是
- 请求路径:*
- 模块:FastCgiModule
- 可执行文件:C:\Python37\python.exe|C:\inetpub\wwwroot\touristmining\wfastcgi.py
- 名称: TouristMiningHandler
在单击确定之前,我必须打开请求限制,并取消选中调用处理程序,以防它被选中然后单击是
步骤#4:转到根服务器并单击 fastCGI 设置
该列表包含
FullPath Arguments
------------- ------------------
1.C:\Python37\python.exe C:\Python37\Scripts\wfastcgi.py
2.C:\Python37\python.exe c:\inetpub\wwwroot\touristmining\wfastcgi.py
现在,我双击第二个链接以启动环境变量集合编辑器,下面是从随机站点挑选的快照
在这里我必须设置两条路径
1. PYTHONPATH
2. WSGI_HANDLER
-> PYTHONPATH will be set to c:\inetpub\wwwroot\touristmining\
-> WSGI_HANDLER (Which path to set)
is it mining.main.app
or
is it entry.app
方法 1 中是否还有其他待处理的步骤?
方法#2
步骤#1:创建一个 web.config 文件
问)我需要创建一个 web.config 文件吗?
按照上面的应用结构,我的应用的根目录是tourismmining。现在,我复制到 c:\inetpub\wwwroot。因此,该目录包含 c:\inetpub\wwwroot\tourismmining
如果上述问题是,我必须创建 web.config 文件,然后将其放在 c:\inetpub\wwwroot\tourismmining 下。这是对的吗?
然后在tourismmining下,web.config包含
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="Python27_via_FastCGI" />
<remove name="Python34_via_FastCGI" />
<add name="tourismmining"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="C:\Python37\python.exe|C:\inetpub\wwwroot\touristmining\wfastcgi.py"
resourceType="Unspecified"
requireAccess="Script" />
</handlers>
</system.webServer>
<appSettings>
<!-- Required settings -->
<add key="WSGI_HANDLER" value="myapp.app" />
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\stealth" />
</appSettings>
</configuration>
在上面的xml下<appSettings>
:
WSGI_HANDLER 值应该是多少?
<add key="WSGI_HANDLER" value="myapp.app" />
是entry.app还是mining.main.app
对于 PYTHONPATH,我已将值设置为C:\inetpub\wwwroot\touristmining
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\touristmining\" />
这个对吗?然后重新启动服务器并在浏览器中登录到 localhost:5000。还有其他待处理的步骤吗?
解决方案
推荐阅读
- pimcore - Pimcore 工作区路径中是否可以使用正则表达式?
- python - 如何根据Python中的条件从现有数据框创建多个数据框
- xamarin - Xamarin 蓝牙库
- winforms - 弹出新窗口时“无可用记录”文本消失
- crystal-reports - Crystal Report 标题中的动态列名
- python - div 刷新 .load() 方法.. 未找到错误
- python-3.x - pytest fixture yield 返回生成器而不是对象
- arrays - 如何在指定索引处创建具有特定类型的数组?
- python - 将索引重命名为数据框中的顺序字符串?
- javascript - 使用 Django 提交时关闭引导模式