我正在尝试配置一个FastCGI模块--如果我使用一个没有空格的路径,整个过程都很好,但是我们的应用程序被安装到C:\Program和其他空间常见的路径中。
web.config的相关部分如下所示:
请不要将管道之后的部分用于配置WFastCGI --这是一种在IIS后面运行python服务器的方法。
发布于 2017-08-07 09:23:19
您必须将Python脚本的路径用双引号括起来。必须使用"在XML中转义双引号。
您不必将Python可执行文件的路径用双引号括起来!事实上,这是行不通的!如果Python安装在一个包含空格的非标准路径中,那么您不需要做任何事情,因为空格只对可执行路径起作用(不是IIS/FastCGI模块对空格有问题,而是调用Python,其中脚本路径将作为单个参数传递)。
例如,如果Python安装在包含空格的非标准路径中(如果不适用于您,只需用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\"',
[...]发布于 2016-04-09 04:34:01
尝试短8.3文件名。使用命令提示符,导航到可执行文件所在的位置,并使用以下命令:
dir /x这将为您提供长和短的路径名称。短路径名称应该没有空格。看看这是否适合你。
https://serverfault.com/questions/768961
复制相似问题