我已经阅读了有关httpplatformhandler产品的每个帖子/博客,但我仍然不确定我是否能够使用HttpPlatformHandler在IIS中托管Sinatra(NON ruby on rails)应用程序。这可能吗?我看到rails的例子,但我不知道如何改变以允许纯Ruby / Sinatra。我不确定我是否需要彪马或其他一些中间人"去做这个。如果可以,有人会提供一个web.config示例,该示例适用于默认的Sinatra应用程序:
要求' sinatra'
得到' / hi'做 " Hello World!" 端
答案 0 :(得分:0)
这适用于我的rails应用程序 - sinatra不应该是任何不同的。只需更改ruby二进制文件的路径...... HOME / HOMEDRIVE / HOMEPATH的EnvironmentVariables在使用Active Directory用户的Windows服务器环境中是必需的。您可以在一台本地计算机上忽略它。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<httpPlatform stdoutLogEnabled="true" processesPerApplication="1" stdoutLogFile="C:\inetpub\wwwroot\rails\FrontEndServer\log\rails.log" startupTimeLimit="20" processPath="C:\RailsInstaller\Ruby2.3.0\bin\ruby.exe"
arguments=""C:\RailsInstaller\Ruby2.3.0\bin\puma" --env production --dir "C:\inetpub\wwwroot\rails\FrontEndServer" -p %HTTP_PLATFORM_PORT% ">
<environmentVariables>
<environmentVariable name="HOME" value="C:\temp"/>
<environmentVariable name="HOMEDRIVE" value="C:\temp"/>
<environmentVariable name="HOMEPATH" value="C:\temp"/>
</environmentVariables>
</httpPlatform>
</system.webServer>
</configuration>