使用 Microsoft Azure 網站服務架設網站服務或網站應用程式(適用 ASP.NET, PHP, Python, Node.js, Java)

文章更新: 2014/10/13 Microsoft Azure 是微軟推出的雲端平台,它並不是單一功能的產品或平台,而是數十種用來建置雲端服務平台產品的集合。而 Microsoft Azure 網站服務是一個可以快速建置網站(靜態網站或網站應用程式)的平台服務(PaaS, Platform-as-a-Service),而且具有雲端平台的特性——用多少付多少,所以您不必事先估算需要的機器資源而進行採購,在網站運行的任何時間都可以動態調整資源,有需要時調高、沒需要時調低,更有效地花費服務的預算。此外,這個平台服務有著開放、跨平台的使命,不論原本是使用 ASP.NET、PHP、Python、Node.js 還是 Java 撰寫的網站都可以直接放在這個平台上運行,而且支援多種部署網站的方式,所以也不限制開發人員要用什麼平台(PC、Unix-like、Mac 等皆可)、開發工具來開發網站。以下是我在 Channel 9 上錄製的影片,用來簡介 Microsoft Azure 網站服務是什麼樣的平台: 這裡我將影片提到的部份分為幾個重點來逐一介紹: 做為網站的虛擬主機 部署網站 延展網站所需的資源 Staging/Production 的部署環境分離 背景程式的運作 網站的備份及還原 跨資料中心的流量管理 為網站提供 CDN 與企業網路混合連接 使用其它服務強化網站應用程式 開始瞭解 Microsoft Azure 帳號之前,可以先註冊一個免費試用的 Microsoft Azure 訂閱帳號,並且試試看網站服務來運作您的網站。 做為網站的虛擬主機 使用 Microsoft Azure 來架網站最大的好處就是不必自己管理伺服器,當然也不用安裝維護作業系統或是伺服器軟體,只要把網站程式寫好了部署上去立刻就開始服務了,對於網站開發人員來說相當方便快速。 當有了 Microsoft Azure 訂閱帳戶後,便可以直接在管理後台中建立多個網站服務,一個網站就建立一個 此外,也可以安裝 Azure 跨平台命令列工具,在 console mode 下面用…


在 Azure 上的 PHP 網站使用 Azure 的 Redis Cache 服務

Microsoft Azure 的網站服務可以讓 PHP 網站開發人員架設網站(參考教學課程),如果要在網站系統中使用 Cache 來提升系統效能,可以考慮 Azure 上的 Redis Cache 服務(目前在預覽階段)。 建立 Redis Cache 服務 要使用 Redis Cache,目前需要到預覽中的新版 Azure 管理介面來操作,在新增服務的選項中選擇 Redis Cache。 然後選擇要用哪一個訂閱、什麼方案(Basic or Standard)、還有快取服務要用哪一座資料中心(建議與您的服務放在同一座資料中心,以減少網路的延遲)來提供服務。 建立完成後,Azure 需要一些時間把服務建立起來,一旦建立完成便能立即使用,而也可以在管理介面中看到它的一些狀態,可以點開 KEYS 來看金鑰或是 Properties 來看它的設定 點開 Properties 就會看到連線資訊,還有連接埠號碼。 搭配 KEYS 裡面顯示的金鑰就可以來使用 Redis Cache 服務了。 在網站服務上的 PHP 網站如何使用 如果您使用 Azure 的網站服務來運作 PHP 網站,要連接 Redis Cache 服務也很容易,只要下面幾個步驟: 先到這裡下載編譯好的,給 Windows 環境的…


在 Microsoft Azure 上架設 PHP 網站課程 (上)

Microsoft Azure 提供的網站服務,讓網站開發人員可以將自己用 ASP.NET、PHP、Node.js、Python 以及  Java 所開發的網站應用程式,部署到雲端平台來提供服務,享受雲端平台的彈性擴充、隨用隨付的概念及便利性,而且更重要的是,除了支援多種程式語言之外,也支援多種部署方式,所以並不限制要使用哪一種作業系統來做為開發環境。 這堂線上課程主要是介紹如何把 PHP 網站部署到 Microsoft Azure 的網站服務中,瞭解運作的環境以及部署方式,另外也會提到在 PHP 程式中如何使用 Microsoft Azure 上的 MySQL 服務(由 ClearDb 提供)以及 Microsoft Azure 本身提供的 SQL 資料庫服務。PHP 網站開發人員,可以透過 https://aka.ms/mva-azure-php 來觀看這堂課程。這是由我親自錄製,所以是中文的影片、字幕以及投影片,有任何問題也請與我聯絡,謝謝。


在 Microsoft Azure 網站服務上使用 PHP Extensions

使用 PHP 在 Microsoft Azure 網站服務架設網站,或是撰寫網站應用程式時,除了 Microsoft Azure 網站服務本來就準備好的 PHP 執行環境之外,碰到某些狀況可能會想要自行開發或是使用別人已經開發好的 PHP 擴充套件(PHP Extensions),例如要使用 Memcache 作快取時,很多人會使用 PECL 上的這個 memcache extension。想要使用 PHP extensions 只要在 Microsoft Azure 網站服務的後台做一些調整就可以了。以下就以 memcached extension 作為示範: 在取得 PHP extension 時特別要注意,因為 Microsoft Azure 網站服務是以 Windows Server 及 IIS 為基礎,所以要使用的 PHP extension 必須要是編譯為 Windows 的版本(也就是 .dll 檔案),目前 Microsoft Azure 網站服務能正確執行的是透過 VC9(Visual C++ 2008)編譯的版本(並且是 non…


將 Laravel (PHP) 應用程式部署上 Windows Azure

繼做完了部署 Zend Framework 應用程式到 Windows Azure 的實驗之後,今天抽空測試了一下另一個 PHP Framework: Laravel 的應用程式是不是也同樣容易,只要加一個 web.config 檔取代 .htaccess 的 rewrite rule 就可以。 部署 Laravel 應用程式幾個要注意的地方: 一樣要到設定的頁面,將 / 路徑改成對應到 site\wwwroot\public。(因為 Laravel 的應用程式根目錄是設定在 public/ 目錄下) 因為 Windows Azure 網站服務,底層的 Web server 是 IIS,所以需要用 web.config 檔案來設定 rewrite rule。只要在 public/目錄下新增一個 web.config檔案,內容如下所示: 詳細的步驟可以參考 Zend Framework 那篇的說明。


將 Zend Framework 2 的應用程式 (PHP) 部署上 Windows Azure

Zend Framework 是一個 PHP 的開發框架(framework),如果你的 PHP 網站應用程式是使用 Zend Framework 2 來開發,也很容易部署上 Windows Azure 網站服務,立刻將你的網站上線。可以參考這篇文章瞭解 PHP 應用程式如何在 Windows Azure 上運作,而這篇文章介紹的是用 Windows Azure 網站服務。 由於 Zend Framework (後以 ZF 稱之) 是一個開源套件,安裝 ZF 的方式有很多種,這裡就以 ZF 官方網站介紹的方法來作說明。 照著上述的方法安裝完 ZF2 的 PHP 應用程式之後,不用特別修改,就已經可以直接部署上 Windows Azure,所以只要先在 Windows Azure 的管理後台新增一個網站服務。 Windows Azure 網站服務可以直接支援 PHP 網站 在部署之前,如果你的 ZF2 網站應用程式遵照著 ZF2 的設計,網站的根目錄是在 public/ 目錄之下,在部署之前,先到網站服務的管理後台,在設定的區域,拉到最下面,修改虛擬應用程式和目錄的設定,將…


PHP on Windows Azure開發實戰(五) – 使用 Windows Azure Storage – Table Service 處理 Session 物件

簡介 前一篇文章介紹了在 Windows Azure 儲存體服務中,使用「Blob儲存服務」來儲存檔案,這一篇要介紹的是 Windows Azure 儲存體服務的另一個儲存服務 ——「Table 儲存服務」。Table 儲存服務是 Windows Azure 上提供的一種 NoSQL 資料儲存服務,它可以用來儲存多種格式的資料,並且以鍵值(key)來存取資料,這篇文章將以實作處理 PHP Session 物件的例子來介紹 Windows Azure 儲存體服務的「Table 儲存服務」。 這一系列文章包括: PHP 應用程式執行環境 部署PHP應用程式 資料庫的選擇: MySQL or SQL Database 使用Windows Azure Storage – Blob storage 處理靜態檔案 使用Windows Azure Storage – Table Service處理 Session物件 使用Windows Azure Service Bus與其它系統進行通訊 實例說明:簡單購物網站實例 Table儲存服務簡介 Windows Azure 儲存體服務提供了多種資料儲存服務,Table 儲存服務是一種…


PHP on Microsoft Azure開發實戰(四) – 使用 Microsoft Azure Storage – Blob storage 處理靜態檔案

更新 正名為 Microsoft Azure。 請參考「使用 Microsoft Azure 網站服務架設 PHP 網站(下)」課程。 簡介 Microsoft Azure Storage 是 Microsoft Azure 平台上面提供永久性資料儲存服務,除了前一篇介紹的 SQL Database 之外,還有用於儲存檔案(正確地說是BLOB)的「Blob 儲存服務」,還有可以用來儲存 Key-Value 資料的「Table 儲存服務」,這篇文章將先針對「Blob 儲存服務」的使用來做介紹。 這一系列文章包括: PHP 應用程式執行環境 部署PHP應用程式 資料庫的選擇: MySQL or SQL Database 使用Microsoft Azure Storage – Blob storage處理靜態檔案 使用 Microsoft Azure Storage – Table Service處理Session物件 使用 Microsoft  Azure Service Bus與其它系統進行通訊 實例說明:簡單購物網站實例 Microsoft Azure Blob 儲存服務簡介 Microsoft Azure Blob…


PHP on Microsoft Azure開發實戰(三) – 資料庫的選擇:MySQL or SQL Database

更新 正名為 Microsoft Azure。 請參考「使用 Microsoft Azure 架設 PHP 網站課程(上)」課程。 簡介 許多使用 PHP 作為網站主要開發的程式語言的開發人員,或是許多知名的PHP網站套裝軟體(如:WordPress、MediaWiki、Joomla 等),會使用 MySQL 作為其網站應用程式的資料庫系統,而目前 Microsoft Azure 本身提供的是 SQL Database 的資料庫服務,但同時也與 ClearDB 合作提供 MySQL 的資料庫服務,這其中的差異,在將 PHP 網站移植到 Microsoft Azure 平台就是一個需要探討的議題。 這一系列文章包括: PHP 應用程式執行環境 部署 PHP 應用程式 資料庫的選擇: MySQL or SQL Database 使用 Microsoft Azure Storage – Blob storage 處理靜態檔案 使用 Microsoft Azure Storage – Table Service處理…


PHP on Microsoft Azure開發實戰(二) – 部署 PHP 應用程式

更新 正名為 Microsoft Azure。 請參考「使用 Microsoft Azure 架設 PHP 網站(上)」課程。 簡介 在上一篇文章中瞭解了在 Microsoft Azure 上要如何執行 PHP 應用程式,這一篇文章介紹各種部署網站上 Microsoft Azure 的方式,不過由於虛擬機器服務(Microsoft Azure Virtual Machines)的部署方式是完全自己設定的,所以這裡主要介紹的是網站服務(Windows Azure Websites)的各種部署方式以及如何用 Windows Azure SDK 的工具來進行部署應用程式至雲端服務(Windows Azure Cloud Services)。 這一系列文章包括: PHP 應用程式執行環境 部署PHP應用程式 資料庫的選擇: MySQL or SQL Database 使用 Microsoft Azure Storage – Blob storage處理靜態檔案 使用 Microsoft Azure Storage – Table Service處理Session物件 使用 Microsoft Azure Service Bus與其它系統進行通訊…