Google 提供了一個網路服務叫「Google 應用服務引擎」,圖案長得如下圖。
初次看到時,還真讓人摸不著頭緒~~啊!這個東西到底是做什麼用的,和飛機引擎有什麼用途?說真得,我到現在也還未摻透。
但就我的理解,覺得像是一個免費網頁空間,這個網頁空間是架構在 Google 的雲端技術上,提供給你免費的網域 (如: http://www.example.com/) 及 500 MB 的儲存空間,讓你可以有將近 500 萬人次網頁瀏覽數的 CPU 及頻寬,目前支援的語言有 Python 及 Java。
Google 提供了「應用服務引擎」的軟體開發套件(SDK),你可以透過此 SDK 來開發及上傳你的 Python 或 Java 應用程式。
請依照你的習慣安裝開發程式Python V2.5 (目前只支援到 V2.5,太新的版本會無法使用) 及 Python SDK,Mac OS X 10.5 Leopard 使用者已經安裝了 Python 2.5。因我尚未玩過 Java ,若你是 Java 使用者,請自行參考 Google 的 Java 開發環境的建置。在這裡,我以Python 為例。
安裝完 Python V2.5 後,其預設路徑會安裝在「C:\Python25」。而 Python SDK 則會在你的桌面及開始功能表多出一個「Google App Engine Launcher」的捷徑。
此程式包含網頁伺服器應用程式,它會模擬「應用服務引擎」環境,包括資料存放區的本機版本、「Google 帳戶」以及直接從您的電腦使用「應用服務引擎 API」來擷取 URL 和傳送電子郵件。
開啟「Google App Engine Launcher」程式,第一次執行,我們需要設定程式的路徑,點選功能表「Edit -> Preferences..」。
請依照你實際的情況設定。若你安裝時未改變預設路徑,可以留空白,表示使用程式預設的路徑即可。
到目前為止,開發環境已經建置完成。
建立第一個程式「Hello World !」
讓我們建立第一個「Hello World !」程式,請點選功能表「File -> Create New Application...」,依序輸入應用程式的名稱「helloworld」,以及此應用程式要存放的路徑位置,預設開啟的 Port 是「8080」,再點選「Create」按鈕來建立一個新的應用程式。以底下為例,會在 D:\PythonProjects 的路徑下建立一個新的資料夾「helloworld」,將來我們此相關的程式就放在這資料夾內。
在剛建立的「helloworld」資料夾中,建立名稱為「helloworld.py」的檔案,並輸入以下內容:
print 'Content-Type: text/plain' print '' print 'Hello, world!'
此 Python 程式是告知網路瀏覽器,底下為一般純文字內容,網頁會顯示一行空白及「Hello, world!」
「網路服務引擎」在建立新程式後,會產生一個名叫「app.yaml」的設定檔,請點選工具列的「Edit」按鈕編輯此設定檔。
將預設開啟的 script 檔,由「main.py」改成「helloworld.py」
application: helloworld version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py
設定檔說明:
- Line 1:此應用程式的識別碼為「helloworld」,於「網路服務引擎」註冊時需另外取得唯一的識別碼。
- Line 2:本應用程式的版本為 1,「應用服務引擎」會保留以前的版本,可透過系統管理控制台回復到以前的版本。
- Line 3:此程式是使用 Pyhone 來執行。
- Line 7-8:若每個對 URL 的要求符合 /.* 的規則運算式,都會以 helloworld.py 來執行。
PS:此檔案的語法是 YAML,若需要更多的選項功能,請參考 app.yaml 參考資料。
接著,請點選工具列的「Run」開啟網頁伺服器,接著再點選工具列的「Browse」按鈕
以網頁瀏覽器連到本機電腦的「http://localhost:8080/」網址,看執行的結果,正確的話應顯示如下畫面:
若有需要修改程式內容,可以讓網頁伺服器繼續保持在執行狀態。於儲存程式變更後,直接在瀏覽器中重新整理網頁,網頁伺服器會重新載入程式,你可現在立刻將「Hello, world!」改個字串試看看。
若要停止網頁伺服器,請點選工具列的「Stop」按鈕。
參考資料
- 「Google 應用服務引擎」首頁
- 「Google 應用服務引擎」入門指南:Python 版本、Java 版本
看了您的介紹,讓我獲益良多...
回覆刪除才剛開始寫 Blog,文筆不是很好,讓你見笑了。
回覆刪除