RoR 未在 Windows Server 2012 上加载 IIS 8 和 HttpPlatformHandler
RoR not loading on Windows Server 2012 with IIS 8 and HttpPlatformHandler
导航到 127.0.0.1/rails 在通过 Process Explorer 查看时生成 ruby.exe,它们很快消失并且页面永远不会加载。让我相信我的配置文件有问题。
我跟着Running Ruby on Rails on IIS8 with HttpPlatformHandler,撞墙了
我已验证 Rails 可以 运行 本地 WEBrick 服务器下的应用程序。但是,我无法弄清楚为什么应用程序无法在 IIS8 下启动。我希望有人可以帮助我验证一些事情或指出正确的方向。在博客中,Scott 是 运行ning Windows 8。因此,也许我在使用 Windows Server 2012 时遗漏了一些差异。
Windows 特点
在博客中,Scott 只是打开了 Internet 信息服务。在服务器上,它似乎更复杂一些。我已经安装:
- 应用服务器:
- .NET Framework 4.5
- Web 服务器 (IIS) 支持
- 网络服务器(IIS)
- 网络服务器
- 常见的 HTTP 功能
- 应用程序开发
也许有人可以验证我在该部分中没有遗漏任何内容。如有必要,我可以进一步详细说明。
web.config
<?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" stdoutLogFile="rails.log" startupTimeLimit="20" processPath="c:\Ruby22-x64\bin\ruby.exe"
arguments=""C:\Ruby22-x64\bin\rails" server -p %HTTP_PLATFORM_PORT% -b 127.0.0.1">
</httpPlatform>
</system.webServer>
</configuration>
感谢您的观看!任何输入将不胜感激!我意识到在 Windows 上提供 Rails 应用程序并不理想。但是,我别无选择...
我认为我最初的问题归结为用户帐户控制问题。但这需要很长时间才能解决,所以我走了一条不同的路。
我最终使用了 Apache。这个对 this question 的回答很有帮助。
我采取的大致步骤:
- 安装 Ruby、DevKit、Rails 并确保它们 运行
- 确保您的应用程序可以 运行 在本地
- 创建启动服务器的 .bat 文件。将它们转换为 .exe。然后创建一个服务以 nssm 启动它们。
- 设置和配置 Apache
- 编辑您的 httpd.conf 文件
- 确保安装了必要的模块。您可以使用 Apache 错误日志来解决此步骤。
- 如果您选择使用虚拟主机,请包括在内。
- 编辑 vhosts 文件,使其指向您的应用程序。
导航到 127.0.0.1/rails 在通过 Process Explorer 查看时生成 ruby.exe,它们很快消失并且页面永远不会加载。让我相信我的配置文件有问题。
我跟着Running Ruby on Rails on IIS8 with HttpPlatformHandler,撞墙了
我已验证 Rails 可以 运行 本地 WEBrick 服务器下的应用程序。但是,我无法弄清楚为什么应用程序无法在 IIS8 下启动。我希望有人可以帮助我验证一些事情或指出正确的方向。在博客中,Scott 是 运行ning Windows 8。因此,也许我在使用 Windows Server 2012 时遗漏了一些差异。
Windows 特点
在博客中,Scott 只是打开了 Internet 信息服务。在服务器上,它似乎更复杂一些。我已经安装:
- 应用服务器:
- .NET Framework 4.5
- Web 服务器 (IIS) 支持
- 网络服务器(IIS)
- 网络服务器
- 常见的 HTTP 功能
- 应用程序开发
- 网络服务器
也许有人可以验证我在该部分中没有遗漏任何内容。如有必要,我可以进一步详细说明。
web.config
<?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" stdoutLogFile="rails.log" startupTimeLimit="20" processPath="c:\Ruby22-x64\bin\ruby.exe"
arguments=""C:\Ruby22-x64\bin\rails" server -p %HTTP_PLATFORM_PORT% -b 127.0.0.1">
</httpPlatform>
</system.webServer>
</configuration>
感谢您的观看!任何输入将不胜感激!我意识到在 Windows 上提供 Rails 应用程序并不理想。但是,我别无选择...
我认为我最初的问题归结为用户帐户控制问题。但这需要很长时间才能解决,所以我走了一条不同的路。
我最终使用了 Apache。这个对 this question 的回答很有帮助。
我采取的大致步骤:
- 安装 Ruby、DevKit、Rails 并确保它们 运行
- 确保您的应用程序可以 运行 在本地
- 创建启动服务器的 .bat 文件。将它们转换为 .exe。然后创建一个服务以 nssm 启动它们。
- 设置和配置 Apache
- 编辑您的 httpd.conf 文件
- 确保安装了必要的模块。您可以使用 Apache 错误日志来解决此步骤。
- 如果您选择使用虚拟主机,请包括在内。
- 编辑 vhosts 文件,使其指向您的应用程序。
- 编辑您的 httpd.conf 文件