用OpenShift 開發網站

3. 建立MySQL 及phpMyAdmin

其實要把MySQL 及phpMyAdmin 裝起來很簡單,點一點就可以有MySQL 跟phpMyAdmin 了。

加入MySQL
點選Add MySQL 5.5

接著再點選「Add Cartridge」。

加入MySQL
點選Add Cartridge

成功加入MySQL 後會出現資料庫Root 的帳號、密碼、資料庫名稱,而phpMyAdmin 則是點選下方連結「Add phpMyAdmin 4.0」即可。

加入MySQL 成功
加入MySQL 成功

4. 重要的變數

在OpenShift 中有幾個重要的變數,而且蠻常會看到的。

a. 目錄環境變數

變數名稱 描述 範例
OPENSHIFT_HOMEDIR application 的家目錄 /var/lib/openshift/53340e935973ca7bdf000b1a/
OPENSHIFT_DATA_DIR 資料目錄 /var/lib/openshift/53340e935973ca7bdf000b1a/app-root/data/
OPENSHIFT_REPO_DIR 目前最近版本的檔案庫,也就是現在在執行的版本 /var/lib/openshift/53340e935973ca7bdf000b1a/app-root/runtime/repo/

b. 資料庫環境變數(以MySQL 為例)

變數名稱 描述 範例
OPENSHIFT_MYSQL_DB_HOST MySQL 主機名稱或IP 位址 127.4.179.2
OPENSHIFT_MYSQL_DB_PORT 資料庫監聽的port 3306
OPENSHIFT_MYSQL_DB_USERNAME 資料庫管理帳號 adminpdTwakl
OPENSHIFT_MYSQL_DB_PASSWORD 資料庫管理密碼 6ffHe_8I6sqM

c. 在PHP 中使用資料庫環境變數

主要是利用getenv() 來取得相關變數的值,所以在開發的時候也不必記下資料庫的相關資訊,而是取得資料庫環境變數的值即可。

變數名稱 描述 範例
getenv(‘OPENSHIFT_MYSQL_DB_HOST’) MySQL 主機名稱或IP 位址 127.4.179.2
getenv(‘OPENSHIFT_MYSQL_DB_PORT’) 資料庫監聽的port 3306
getenv(‘OPENSHIFT_GEAR_NAME’) 資料庫名稱 php
getenv(‘OPENSHIFT_MYSQL_DB_USERNAME’) 資料庫管理帳號 adminpdTwakl
getenv(‘OPENSHIFT_MYSQL_DB_PASSWORD’) 資料庫管理密碼 6ffHe_8I6sqM

5. 使用Cron

在OpenShift 中有像crontab 一樣的功能,不過有點不一樣。一樣要加入一個cron cartridge ,先回到Application 的頁面(請看3. 建立MySQL 及phpMyAdmin 的第1張圖), 點選「Or, see the entire list of cartridges you can add」,再選擇「Cron …」,後面的東西跟加入MySQL 一樣。

這時候就要用到Git 了,要把檔案庫給clone 回來,然後進入.openshift/cron/,此目錄下有minutely、hourly、daily、weekly、monthly,只要在選擇特定週期的路徑建立檔案,內容是要執行的指令,然後commit 後再push 回去server 就好了。

跟crontab 有點不一樣的地方是,OpenShift 的週期只能是分、時、日、週、月,而不像crontab 可以設定每5 分鐘、每1 小時或者特定時間。

最後,建議要看OpenShift 還有哪些功能可以玩的,像hook 、SSH 遠端登入等,可以去看官方文件

發佈留言

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

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