LAMP開発者のためのWindows Azure講座

第3回 Azure上でPHPアプリをデプロイ,動作させてみよう

この記事を読むのに必要な時間:およそ 5 分

EclipseでWindows Azureプロジェクトを作成

前回は,Windows Azure SDKやEclipse PDT(PHP Development Tools)をローカル環境にインストールして,Windows Azure PlatformでPHPアプリケーションを動作させるための準備を整えました。今回は,Eclipseを使って実際にPHPアプリケーションをWindows Azureにデプロイし,実際の動作を確認するまでの手順を紹介します。あわせて,MySQLをWindows Azure Platformで動作させるにはどのような方法があるのかについて触れたいと思います。

まず,Eclipseを使ってWindows Azure上で動作するPHPアプリケーションを作成してみましょう。前回導入したPDTをパースペクティブに追加し,Azureプロジェクトを作成できるように設定します。Eclipseを起動し,メニューバーの「Windows」から「Open Perspective」⁠-⁠Other」を選択します。続いて表示される画面で「Windows Azure PDT」を選択します。

図1 ⁠Windows」メニューから「Open Perspective」⁠-⁠Other」を選択

図1 「Windows」メニューから「Open Perspective」-「Other」を選択

図2 ⁠Windows Azure PDT」を選択

図2 「Windows Azure PDT」を選択

すると,Eclipseが拡張され,図3のようにタイトルバーが「Windows Azure PDT - Eclipse」に変わり,メニューバーには「Windows Azure」が追加されます。

図3 Azure PDTがセットされたEclipse

図3 Azure PDTがセットされたEclipse

では,実際にAzureプロジェクトを作成してみましょう。

「Windows Azure」メニューから「New Windows Azure PHP Project」を選択します(⁠File」メニューから「NEW」⁠-⁠Windows Azure PHP Project」でも可能です)⁠図4の画面が表示されますので,プロジェクト名を入力します。ここでは「Sample1」とします。なお,ワークスペースは,IISのルートディレクトリとなる「C:\inetpub\wwwroot」が設定されます。

図4 Azureプロジェクト名を入力

図4 Azureプロジェクト名を入力

「Next」ボタンを押すと,図5のようなWebRole名を入力する画面が表示されます。ここでは,ここでは「WebRole1」とします。

図5 WebRole名を入力

図5 WebRole名を入力

なお,WebRoleとは,Windows Azure上のIISが提供するWebアプリケーションをホストする環境のことです(HTTP/HTTPSのリクエストを受け付けます)⁠WebRole内では複数のインスタンス(仮想サーバ)をデプロイでき,構成も動的に変更することができます。たとえば,大量のHTTPリクエストにより負荷が高まった場合,インスタンス数を増加させたり,インスタンスのサイズを拡大させたりして,対応することができます。こうしたスケールアウト,スケールアップが容易に行える点は,Windows Azure Platformを利用する大きなメリットと言えるでしょう。

続いて「Next」ボタンを押し,次の画面で「Finish」を押すと,プロジェクトが作成されます。

画面左側のPHP Explorerを見ると,プロジェクト作成時に指定したプロジェクト名とロール名が確認できます。⁠Sample1」配下にある「ServiceConfiguration.cscfg」⁠ServiceDefinition.csdef」は,サービスを設定するファイルです。また,⁠Sample1_WebRole1」以下がAzure上で公開されるルートディレクトリになります。

図6 PHP Explorerでプロジェクト名とロール名を表示

図6 PHP Explorerでプロジェクト名とロール名を表示

Sample1_WebRole1内のindex.phpをダブルクリックして中身を見てみます。

図7 Sample1_WebRole1のindex.phpを表示

図7 Sample1_WebRole1のindex.phpを表示

すでにサンプルコードが挿入されています。前半は,サンプルのストレージへのリンク,後半はphpinfoを出力するコードです。今回,ストレージはプロジェクトに含めませんでしたので,当該コードを削除して,phpinfoだけを出力するアプリケーションにします。

修正が済んだら,index.phpを保存して,動作を確認します。PHP Explorerのプロジェクト「Sample1_WebRole1」を選択状態にして,⁠Windows Azure」メニューから「Run Windows Azure PHP Project in Development Fabric」を選びます。

図8 コードを編集後「Sample1_WebRole1」を選択

図8 コードを編集後「Sample1_WebRole1」を選択

図9 メニューから「Run Windows Azure PHP Project in Development Fabric」を選択

図9 メニューから「Run Windows Azure PHP Project in Development Fabric」を選択

すると,Azure SDKに含まれる「Storage Emulator」など,Azure環境をローカルでエミュレートするツール類の初期化が行われます。

図10 Azure環境の初期化中

図10 Azure環境の初期化中

初回起動時は,以下のような「Storage Emulator」の初期化終了の画面が表示されるので,OKを押します。

図11 初期化終了表示

図11 初期化終了表示

そのまま,しばらく待っていると,Eclipse上に図12のようなindex.phpの出力結果が表示されます。

図12 PHP環境の設定完了

図12 PHP環境の設定完了

著者プロフィール

齋藤公二(さいとうこうじ)

インサイト合同会社

『月刊Computerwold』『CIO Magazine』(IDGジャパン)の記者,編集者などを経て,2011年11月インサイト合同会社設立。エンタープライズITを中心とした記事の執筆,編集のほか,OSSを利用した企業Webサイト,サービスサイトの制作を担当する。

コメント

コメントの記入