我想configuration一个FastCGI模块 – 整个事情工作正常,如果我使用一个没有空格的path,但我们的应用程序安装到C:\ Program Files文件和其他空间是常见的path。
web.config的相关部分如下所示:
请不要使用Pipe |之后的部分来configurationWFastCGI – 一种在IIS后面运行python WSGI服务器的方法。
您必须用双引号括住Python脚本的path。 双引号必须在XML中使用" 。
你不必用双引号括住Python可执行文件的path! 事实上,这是行不通的! 如果您的Python安装位于包含空格的非标准path中,则不需要执行任何操作,因为空格只能用于可执行文件path(它不是真正的IIS / FastCGI模块,它与空格有关,但在脚本path作为单个parameter passing的情况下调用Python)。
例如,如果Python安装在包含空格的非标准path中(只要将它replace为C:\python27\如果不适用于您),则C:\python27\将如下所示。
在applicationHost.config :
<fastCgi> <application fullPath="C:\Program Files (x86)\MyApp\Python\python.exe" arguments=""C:\Program Files (x86)\MyApp\Python\Lib\site-packages\wfastcgi.py"" [...] /> </fastCgi>
在web.config :
<add name="MyHandler" path="myapp.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\MyApp\Python\python.exe|"C:\Program Files (x86)\MyApp\Python\Lib\site-packages\wfastcgi.py"" resourceType="Unspecified" requireAccess="Script" />
编辑:要设置applicationHost.config编程方式使用appcmd.exe ,您必须在参数中双引号作为\" 。例如:
set config /section:system.webServer/fastCgi /+"[ fullPath='C:\Program Files (x86)\MyApp\Python\python.exe', arguments='\"C:\Program Files (x86)\MyApp\Python\Lib\site-packages\wfastcgi.py\"', [...]
尝试短的8.3文件名。 使用命令提示符导航到可执行文件的位置,并使用以下命令:
dir /x
这会给你多长的path名称。 短path名称应该没有空格。 检查是否适合你。