具有空格的IIS FastCGI scriptProcessor?

我想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="&quot;C:\Program Files (x86)\MyApp\Python\Lib\site-packages\wfastcgi.py&quot;" [...] /> </fastCgi> 

web.config

 <add name="MyHandler" path="myapp.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\MyApp\Python\python.exe|&quot;C:\Program Files (x86)\MyApp\Python\Lib\site-packages\wfastcgi.py&quot;" 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名称应该没有空格。 检查是否适合你。