如何在Windows Azure相同的Web Role上同時部署PHP和ASPNET的網站?今天在與大家分享方法之前請大家先安裝Windows AzureVisual Studio 以及Windows Azure平台上的NET SDK也許可以在不安裝Visual Studio的前提下也可能同時部署兩個網站但至少我現在還沒有發現這個方法
這個視頻講述的是如何部署多個NET網站但是它包含了你需要部署各種網站的所有信息
然後在部署應用之前你可以做些基礎工作首先在Windows Azure平台上為你的ASPNET網站的域名創建一個空的托管服務(如)然後為PHP網站創建一個CNAME域名記錄()用於指向Azure域名()(這裡我假設大家有一個域名類似)這些步驟做完後一切就越來越清晰了
在Visual Studio中創建一個Windows Azure項目會提示添加Web Role選擇任意一個ASPNET Web Role(我選擇的是ASPNET MVC Web Role)以下步驟通過點擊OK默認設置即可完成
打開服務定義文件(ServiceDefinitioncsdef)添加類似於下面的元素
<Site name=
YourSiteName
physicalDirectory=
path\to\your\PHP\app
>
<Bindings>
<Binding name=
Endpoint
endpointName=
Endpoint
hostHeader=
/>
</Bindings>
</Site>
你需要添加namephysicalDirectory以及hostHeader屬性值Name屬性不作特別要求但是physicalDirectory屬性必須指向你本地的PHP應用程序hostHeader值應該是PHP應用程序的域名
打開服務定義文件後在元素後新增以下的元素
<Startup>
<Task commandLine=
add
environment
variables
cmd
executionContext=
elevated
taskType=
simple
/>
<Task commandLine=
install
php
cmd
executionContext=
elevated
taskType=
simple
>
<Environment>
<Variable name=
EMULATED
>
<RoleInstanceValue xpath=
/RoleEnvironment/Deployment/@emulated
/>
</Variable>
</Environment>
</Task>
<Task commandLine=
monitor
environment
cmd
executionContext=
elevated
taskType=
background
/>
</Startup>
當你部署應用程序的時候啟動任務會開始安裝PHP並且完成IIS的配置來處理PHP的響應要求
將startup 任務中參考的文件添加至ASPNET項目一旦完成後目錄如下圖
如果你想要使用Compute 和Storage模擬器來運行你的應用程序你需要編輯yourhosts 文件(你可以通過點擊StartRun鍵入drivershosts文件會在etc目錄下)載hosts文件中添加以下代碼
按住Ctrl+F(或者選擇Start Without Debugging)在模擬器中運行你的應用程序
From:http://tw.wingwit.com/Article/program/net/201311/13839.html