【问题标题】:Install service in windows azure在 Windows azure 中安装服务
【发布时间】:2012-02-18 07:25:39
【问题描述】:

我想知道有没有办法在Azure环境下安装windows服务?或者有没有其他方法可以做到这一点?

【问题讨论】:

  • 您可以创建一个辅助角色并尝试在您的 azure 上部署

标签: azure windows-services installation


【解决方案1】:

如果我正确理解了这个问题,您在 Azure 中需要的是 Worker Role,Stackoverflow 上的类似问题:What's the concept of *worker role* in Windows Azure cloud?

查看这篇博文“将 Windows 服务迁移到 Azure Worker Role” http://blogs.msdn.com/b/joseph_fultz/archive/2010/04/02/migrating-windows-service-to-azure-worker-role-image-conversion-example-using-storage.aspx

还可以查看 Windows Azure 培训工具包,了解 Azure 中工作角色的代码和使用示例 http://www.microsoft.com/download/en/details.aspx?id=8396

HTH

【讨论】:

    【解决方案2】:

    另一个可能的选择是使用启动任务在 Web 或辅助角色中安装 Windows 服务。

    这是一篇 MSDN 文章 - 虽然它的细节似乎有点短。

    How to Define Startup Tasks for a Role

    基本上,您需要确保在部署期间复制安装程序并创建一个 cmd 文件来执行安装程序。然后将启动任务元素添加到服务定义 XML 文件中。

    【讨论】:

      【解决方案3】:

      要添加的几件事以及其他答案:

      1. 您可以通过启动任务安装具有 Web 或 Worker 角色的服务

      2. 或者,您也可以通过任务计划程序以提升的权限运行进程

      【讨论】:

        【解决方案4】:

        以下是在运行 Windows Server 2012 R2 的 VM 上安装 Windows 服务的步骤:

        • 在 Windows Azure 控制台中启动您的虚拟机并使用远程桌面连接器连接到它
        • 将您的存储映射为 VM 中的新驱动器:

          net use z:\mystorage.file.core.windows.net\endoint /u:myusernameverylongkeythatendswith==

        存储密钥可在 Azure 管理控制台 -> 存储 -> 管理访问密钥中找到

        • 将所有必要的安装文件复制到映射存储(复制和粘贴)
        • 将 nssm 复制到本地驱动器(不是 z:因为它使用 MAFS 文件系统并且无法使用低级 Windows API 命令访问)
        • 使用以下条目创建一个 .bat 文件

        设置用户名=xxx 设置密码=yyy 调用 d:\nssm 安装“我的服务” "%programfiles%\PathToService\myservice.exe" "-p 8677" d:\nssm set "我的服务" ObjectName "%username%" "%password%" sc失败“我的服务”操作=重新启动/60000/重新启动/60000/重新启动/60000重置=240 d:\nssm 启动“我的服务”

        用户名和密码应该是您用于创建 VM 的用户名和密码。

        • 运行脚本。该服务应该在您的服务列表中可见。

        享受吧!

        PS:我使用NSSM 来简化服务部署。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-29
          • 1970-01-01
          • 1970-01-01
          • 2011-09-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多