用OpenShift 開發網站

openshift
圖片轉自OpenShift

從大學畢業後,要免費用伺服器還蠻麻煩的一件事情,查了許多VPS ,開發環境都不是非常好,像有些主機還是使用PHP 5.3 以下,MySQL 也不支援InnoDB Engine,服務也不沒很穩定,免費的主機也不能苛求太多,OpenShift 是由Red Hat 建置,跑在Amazon EC2上,穩定度看來是不錯的。

1. 介紹OpenShift

OpenShift 是RedHat 建立的雲端服務,屬於平臺即服務 (PaaS),可以讓開發者或一般人方便的使用架設好的開發環境,不用花費太多時間在管理系統上面。官方也蠻不錯的,提供一個免費方案,另一個基本上算免費,先看一下比較。

Free Bronze
Small Gears(1~3) *1 免費 免費
Small Gears(4個以上) X 須付費
Gear 閒置 *2 2天 X
基本儲存空間/1個Gear 1G 1G
額外儲存空間 X 須付費
rhcloud.com 上的次級網域
自訂網域
分享SSL/TLS 憑證
自訂SSL/TLS 憑證 X
付款資訊 *3 X

備註:

  1. Gear 是一個被限制的資源(如:記憶體、儲存空間等),簡單來說像是一個電腦一樣,Small Gear 的資源就是512M 的記憶體、100M swap 空間、1G 儲存空間(可付費擴增)
  2. Gear 閒置指,如果在某段時間內(免費方案是2天)沒有接收到HTTP 要求的話,會進入idle 狀態,如果有HTTP Request 進來,就會進入Started了(自己測試idle 切換到started 要等10幾秒左右)
  3. 付款資訊在Bronze 方案,是要填入信用卡資訊的,所以小心Small Gear 用超過1G的儲存空間就會開始計費…

比較起來,OpenShift 還不錯,可以自訂網域,記憶體跑小demo 、做Lab或者是小流量的網站 也不錯。官方說明中,以Drupal 來估計,Small Gear 可以Free 方案大約可以每秒15 個頁面、數百篇文章、每個月5萬個訪客,詳細得比較可以去看https://www.openshift.com/products/pricing

支援的程式語言包括,Java、PHP、Python、Ruby、Node.js、Perl等,本篇文章以PHP 為開發環境,資料庫則有MySQL、MangoDB、PostgreSQL等,如果要知道支援的版本,可以至https://www.openshift.com/developers/technologies

2. 使用OpenShift

a. 註冊帳號

先到https://www.openshift.com/app/account/new ,註冊新帳號,並且驗證電子郵件成功。

b. 建立Application

1. 點選「Create your first application now」

另外說明一下,在這個頁面可以看到說明環境是要哪種程式語言或Framework,也有提供資料庫等服務。在OpenShift 中的元件像是Web Framework或者資料庫等工具,都叫做Cartidges。而要如何將寫好的程式傳到OpenShift 中的Gear 中,就是利用Git 去push 上去的。

再做個名詞的整理:

名稱 描述
Gear 有資源限制的application,也是cartridges執行的地方。
Cartridges 提供功能執行application,包含Perl、PHP、MySQL 等
建立Application
點選Create your first application now

2. 選擇開發程式語言或Framework

注意一下,右邊的圖示是有意義的,像盾牌的是代表會自動進行更新,而像盾牌旁邊,磁帶圖示代表示Cartridge 也會自動更新。

選擇環境
選擇建置環境,以PHP 5.4 為例

3. 填寫Application 相關資訊

php 是這個application 的名稱,而aming 則是替自己帳號底下取一個統一的名字,點選「Create Application」後要等一下。

Application 資訊
填寫相關資訊後,點選Create Application

4. 設定SSH Key

如果要用到Git 去丟程式碼的話,可以在這裡設定SSH 公鑰,支援常見的ssh-rsa等,詳細可以看此連結,如果沒有要設定就選擇「Not now, continue」

SSH Key
設定SSH 公鑰

5. SSH Key設定成功

git
SSH Key設定成功,提示如何操作Git

6. 瀏覽網頁

預設網址為:http://APPLICATION_NAME-DOMAIN.rhcloud.com

OpenShift成功面

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料