1

我是 Azure 的新手。我有一个脚本可以自动安装 Apache、Ruby,并将两者配置为运行基本的 Ruby on Rails 项目。此脚本当前在 Windows Server 上运行。

我现在正试图让它在 Azure 中工作。我已注册订阅,并在 Visual Studio 中打开了一个新的 Worker Role 项目。

我现在有点卡住了。

1)我应该把安装文件和项目文件(ruby、apache等)放在哪里?2) 放置脚本的最佳位置在哪里?

任何帮助,将不胜感激。感谢您的时间 :)

4

1 回答 1

2

在 Visual Studio 项目中,您可以在三个地方启动和运行:

  • 启动脚本。这在您的 workerrole.cs 方法被调用之前运行。它非常适合安装需要提升权限的软件、调整注册表等。对于 apache,不需要提升权限 - 它只是 xcopy 加上环境变量。
  • workerrole.cs OnStart() - 在将角色实例添加到负载均衡器之前调用此处理程序。您可以从 blob 存储下载 apache zip,解压缩到本地文件夹,然后启动它。
  • workerrole.cs Run() - 与 OnStart() 相同,但您的角色实例现在位于负载均衡器中。我不建议在这里设置 Web 服务器。

从 Eclipse 设置 tomcat 时情况有些不同,因为没有 workerrole.cs。相反,您有一个启动脚本。Eclipse 的 Windows Azure 插件提供了几个示例脚本:一个用于 tomcat,一个用于 JBoss,等等。然后您可以查看这些示例脚本如何设置环境并启动 Web 服务器。

一点指导:虽然您可以将 tomcat、ruby 和其他运行时位打包到您的部署中,但这也会增加部署规模。我通常将第 3 方位放在 blob 存储中,然后在启动时将它们下载到我的角色实例中。这个下载速度非常快。这也使我能够在不需要重新部署的情况下更新这些位(例如:自几个月前我推动部署以来,tomcat 已经经历了六次增量更新;我只是上传了一个新的 tomcat zip 并回收了我的角色实例)。

于 2012-06-12T16:40:47.010 回答