Windows Azure - 我可以在同一台虚拟机上运行Web角色和Worker角色吗?

11 浏览
0 Comments

Windows Azure - 我可以在同一台虚拟机上运行Web角色和Worker角色吗?

我想为我的网站创建一个Web角色,但我也希望该网站与我开发的另一个独立应用程序进行通信。

我认为没有必要有两个虚拟机-我可以在同一个虚拟机上拥有我的工作角色和Web角色吗?

有什么能阻止我RDP上传我的应用程序?

这个角色需要在高端口号上进行连接-我需要改变什么来允许这个吗?(除了虚拟机上的Windows防火墙)

(到目前为止,Azure让我的生活比支付托管服务器更复杂)

admin 更改状态以发布 2023年5月25日
0
0 Comments

是的,您可以将Worker Roles转换为Windows服务,然后与Web Role一起部署。

WebRole也可以定义RoleEntryPoint,因此您可以在启动时使用它来安装和关闭Windows服务。其余部分,例如打开防火墙端口,对IIS进行更改等最好编写命令行脚本或.NET代码,并在实例启动时执行。这样,您可以通过增加实例数量轻松地扩展服务。

0
0 Comments

我会指向我在SO上提供的其他答案,但是......Web角色和工作角色只是运行IIS和不运行IIS的Windows 2008服务器。如果您想要的话,可以在Web角色中运行所有内容,并只需缩放实例的数量以处理负载。或者......为您不希望与Web角色CPU /内存 /网络竞争的某些任务创建工作角色。

您可以通过tcp、http或https监听任何端口。您最多可以打开25个这样的端口,并将流量直接转发到您想要的角色(并且它将在该角色的所有实例之间进行负载平衡)。

您不想RDP和安装软件。虚拟机在重新启动时将不会保留此类更改。这是Windows Azure的很酷的部分:在您的webrole.cs或workerrole.cs中,您可以设置任何您想要的内容,然后在Run()中,只需睡觉或启动后台任务(或其他任何内容)。如果在启动期间需要安装某些东西(可能是需要提升特权的MSI或注册表添加),则可以使用启动任务来做几乎任何您想要的事情。这些更改将在重新启动时重新应用。尽管......如果您发现某些内容已安装(也就是说,有时您的东西将在重新启动之间保留),则可以绕过此操作并跳过安装-您不能指望这一点,但您当然可以丢下自己的面包屑,以了解事情已被安装......

我在以下提供了更多SO答案:

0