请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

php163

php163 首页 PHP资讯 查看内容

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

2012-4-15 21:00| 发布者: php163| 查看: 1084| 评论: 0

摘要: 【IT168 技术】如何在Windows Azure相同的Web Role上同时部署PHP和ASP.NET的网站?今天,在与大家分享方法之前,请大家先安装Windows Azure、Visual Studio 2012以及Windows

【IT168 技术】如何在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=Endpoint1hostHeader=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.cmdexecutionContext=elevated taskType=simple />

04.

05.Task commandLine=install-php.cmd executionContext=elevatedtaskType=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.cmdexecutionContext=elevated taskType=background />

20.

21.Startup>

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

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

 

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

 

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

127.0.0.1 www.myphpsite.com

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

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

你可以通过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站点。


鲜花

握手

雷人

路过

鸡蛋

收藏 分享

最新评论

赞助商信息

QQ:24940422 2698114111 电话:0532-89993080|Archiver|手机版|php163开源技术分享社区   

GMT+8, 2018-5-25 01:34 , Processed in 0.029989 second(s), 17 queries .

Powered by Discuz!

PHP开源技术分享门户

回顶部