微软Azure部署PHP与ASP.NET :双管齐下

如何在Windows Azure相同的Web Role上同时部署PHP和ASP.NET的网站?今天,在与大家分享方法之前,请大家先安装Windows Azure、Visual Studio 2012以及Windows Azure平台上的.NET SDK。也许可以在不安装Visual Studio的前提下也可能同时部署两个网站,但至少我现在还没有发现这个方法。

  首先,我强烈推荐大家看看Cloud Cover的视频剪辑。Cloud Cover Episode 37: Mulitple Websites in a Web Role.

  这个视频讲述的是如何部署多个.NET网站,但是它包含了你需要部署各种网站的所有信息。

  然后,在部署应用之前,你可以做些基础工作,首先在Windows Azure平台上为你的ASP.NET网站的域名创建一个空的托管服务(如:mysite.cloudapp.net)。然后为PHP网站创建一个CNAME域名记录(mysite.cloudapp.net),用于指向Azure域名(mysite.cloudapp.net)。(这里我假设大家有一个域名,类似www.myphpsite.com)。这些步骤做完后,一切就越来越清晰了。

  1. 在Visual Studio中创建一个Windows Azure项目,会提示添加Web Role。选择任意一个ASP.NET Web Role(我选择的是ASP.NET MVC 3 Web Role)。以下步骤通过点击OK默认设置即可完成。

  2. 打开服务定义文件(ServiceDefinition.csdef),添加类似于下面的元素

01.<Site name="YourSiteName" physicalDirectory="path\to\your\PHP\app">

02.

03.<Bindings>

04.

05.<Binding name="Endpoint1" endpointName="Endpoint1"hostHeader="www.yourdomain.com"/>

06.

07.</Bindings>

08.

09.</Site>

  你需要添加name、physicalDirectory、以及hostHeader属性值。Name属性不作特别要求,但是physicalDirectory属性必须指向你本地的PHP应用程序,hostHeader值应该是PHP应用程序的域名。

  3. 打开服务定义文件后,在元素后新增以下的元素。

01.<Startup>

02.

03.<Task commandLine="add-environment-variables.cmd"executionContext="elevated" taskType="simple"/>

04.

05.<Task commandLine="install-php.cmd" executionContext="elevated"taskType="simple">   

06.

07.<Environment>

08.

09.<Variable name="EMULATED">

10.

11.<RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated"/>

12.

13.</Variable>

14.

15.</Environment>

16.

17.</Task>

18.

19.<Task commandLine="monitor-environment.cmd"executionContext="elevated" taskType="background"/>

20.

21.</Startup>

  当你部署应用程序的时候,启动任务会开始安装PHP,并且完成IIS的配置,来处理PHP的响应要求

  4. 将startup 任务中参考的文件添加至ASP.NET项目,一旦完成后,目录如下图

  如果你想要使用Compute 和Storage模拟器来运行你的应用程序,你需要编辑yourhosts 文件(你可以通过点击Start-Run,键入drivers,hosts文件会在etc目录下)载hosts文件中添加以下代码

127.0.0.1 www.myphpsite.com

  按住Ctrl+F5(或者选择Start Without Debugging)在模拟器中运行你的应用程序

  你可以通过http://127.0.0.1:81来查看生成的网站。如果你的浏览器转接到http://www.myphpsite.com:81,你可以查看到你的PHP站点。

  6.当你准备好部署app后,你可以使用Visual Studio的工具:

  :http://msdn.microsoft.com/en-us/library/windowsazure/ff687127.aspx#Publish.

  发布以后,你可以通过浏览 mysite.cloudapp.net查看ASP.NET应用程序(假设你已经为你的PHP网站建立了一个CNAME记录),并且通过访问www.myphpsite.com可以查看你的PHP站点。

时间: 2024-09-19 20:36:48

微软Azure部署PHP与ASP.NET :双管齐下的相关文章

如何在全新的Azure门户中托管ASP.NET应用程序

Windows Azure现在是基于Silverlight的了,它的门户也彻头彻尾的改过了.现在的他什么信息啊,操作啊都在同一个页面上完成.通过部署.角色实例.托管服务的属性窗口来提供各种扩展操作的,左边的窗格包含一个在线的"How to"向导和一些用来完成其他操作的选项,针对SWAP VIP的OS配置现在可以通过上方的Ribbon控件来完成. 至于Windows Azure新的门户的外观这些不急于讨论,现在我们主要讨论下如何在全新的Azure门户中托管ASP.NET应用程序. 刚开始

Azure部署Nano Server教程

  为了方便管理员进行先期技术预览和测试,微软在 Microsoft Azure 平台也早已上线了 Nano Server 的部署映像,本人我们就对如何在 Microsoft Azure 部署 Nano Server 并使用 PowerShell 进行远程管理进行一些简单介绍. Microsoft Azure部署Nano Server 现在开始,我们在 Azure VM 中部署一台 Nano Server.(前提你需要有 Azure 订阅,如果没有的话大家可以申请免费试用,申请地址:https:

英特尔Clear Linux上架微软Azure Marketplace

Clear Linux是专门针对英特尔架构而设计.基于Linux的操作系统,微软宣布该系统已经在公司的Azure Marketplace上架,可广泛应用于各种云实例中.该操作系统由英特尔设计,为用户提供面向桌面和服务器的高度优化和高性能计算机系统.该系统开源,可以免费下载应用于个人商业目的,最大化发挥英特尔PC的性能和价值. 英特尔的Clear Linux是登陆微软Azure公共云平台的最新GNU/Linux发行版本,在该平台上用户还能选择Ubuntu, openSUSE, Debian, Ce

NetApp存储进驻微软Azure云平台

[天极网服务器频道7月25日消息]近日,NetApp存储进驻http://www.aliyun.com/zixun/aggregation/14046.html">微软Azure云平台,通过Azure后端可以实现存储工作负载的卸载.NetApp Private Storage(NPS) for Azure依赖于管理服务类型的数据中心或者像Equinix运营的协同中心内的一台NetApp设备. NetApp在与Equinix的合作中使用了Equinix的Cloud Exchange来实现和A

阿里云ONS和微软Azure Service Bus的架构和特性比较

阿里云ONS和微软Azure Service bus的架构和特性比较 版权所有,转载请注明出处http://blog.csdn.net/yangzhenping,谢谢! 阿里云的开放消息服务: 一.如图所示,ProducerID1 的producer 实例有三个,可能是部署在三个机器上的三个进程,也可能是一台机 器上的三个进程.每个实例都会发送TopicA 的消息.同理,ProducerID2 与之类似. 二.ConsumerID1 有三个实例,如果是集群消费方式,那么每个实例消费TopicA

微软Azure云计算服务短暂宕机:现已恢复

http://www.aliyun.com/zixun/aggregation/17197.html">北京时间8月19日上午消息,微软表示,该公司已经解决了Azure云计算服务的宕机问题,此事已经影响到多个地区. 微软在Azure官方网站上表示,该服务的宕机事件开始于美国东部时间8月18日下午1:40(北京时间8月19日凌晨1:40). 微软Azure是一款云计算平台,可以方便用户创建.部署和维护网络应用及服务,包括网站和网络托管应用.世界各地的很多政府和公司都使用该服务,它支持多种编程

微软Azure物联网平台认证计划受关注

微软的使命是予力全球每一人.每一组织成就不凡.我们相信,物联网(IoT)之于今天的企业,不仅代表着一个重要的运算潮流,更意味着面向未来的竞争优势.只要懂得如何驾驭来自现有设备和新设备的各种信号和数据,我们就能从中解锁强大的业务洞察.充分了解自己手中的"物"--在任何时候都清楚地掌握所有设备的状态和位置.通过预测性维护消除设备意外宕机的风险--企业的业务流程就能立竿见影地得到改进.而这一切还仅仅是个开始. 在过去的几年中,微软全力打造出了业界覆盖面最广的物联网平台之一,我们帮助各行各业的

Teradata的通吃法:同时飘忽于AWS和微软Azure之上

 Teradata在公有云上推出旗下的企业级分析数据库,首先在竞争对手亚马逊和微软Azure公有云上推出. AWS版Teradata数据库将于2016年第一季度开始提供服务,付费模式为按次付费.Teradata预计将于周三宣布有关事项. 到目前为止,公开上市的数据分析公司Teradata旗下的数据库即服务是通过自己的云提供的,还可以提供内部部署,用的是Teradata的硬件,其价格不菲. Teradata已经在AWS提供了一个简速版本,不过只是提供给开发商在非生产环境中使用. 这次的AWS版Te

Dell EMC用于微软Azure堆栈平台的企业混合云

当每一个数据中心都在运行相同的操作环境时,混合云计算将变得更加简单.考虑到这一目标,戴尔EMC公司日前宣布推出用于微软Azure堆栈平台的戴尔EMC企业混合云,这是微软公司在Azure云端运行的操作系统实例,可以在Dell EMC服务器上的本地数据中心运行. Dell EMC公司混合云平台高级副总裁Peter Cutts表示,诸如Dell EMC企业混合云为微软Azure堆栈平台提供的产品有效地模糊了公共云和私有云之间的界限,使IT组织能够更好地控制应用程序部署.在某些情况下,在公共云中部署应用