之前有和大家分享過在 Openshift (v2)上架設 WordPress 的方法,改版之後,就沒那麼容易了
[教學] 在 Openshift 上架設 WordPress+自訂域名
比起第二版的 WordPress 部署方式,第三版目前尚無自動化安裝腳本,安裝起來稍微複雜些。不過,你不用擔心,以下的教學都將採用圖形介面操作,假如真的遇到問題,再去研究文字指令怎麼使用,文末也附上遇過的問題與大家分享。
溫馨提示:不推薦拿來做為正式用途,因為新版平台類似 Heroku,有 30分鐘休眠限制,且容器內部 IP可能會因為重新啟動而變更,您需要自行修改 YAML 檔,避開這樣的問題。
準備開始
安裝開始前,你需要知道 Openshift (v3) 底層是容器,使用 Kubernetes 進行管理,在這樣的架構下,每個應用程式被獨立開來,專注做自己的事,當問題發生的時候,可以個別重新啟動,或是更進一步的診斷。
那麼我不懂容器,不懂 Kubernetes,我只想裝 WordPress,可以嗎?
可以的,你應該知道 WordPress 是由 PHP 語言與 MySQL 資料庫搭建而成的部落格系統,需要有個 PHP 環境跑 WordPress ,再加上 MySQL資料庫儲存我們的資料
我們使用 Openshift 提供的免費資源來架設,他提供 1GB 記憶體與 1GB 儲存空間,運行速度比起第二版快很多,但是有資源休眠的限制 (Resource Hibernation),假如你的應用程式 30 分鐘內沒有動靜,那麼就會進入休眠狀態,而且每 72 小時,必須要休眠 18 小時。
Step1 註冊 Openshift (v3) 帳號
進入 Openshift 註冊帳號,就不贅述囉
https://manage.openshift.com/
Step2 建立 Openshift 專案
登入主控台後,新增一個專案
輸入你的專案名稱,需要是獨一無二的喔,無法用別人用過的名字
Step3 建立 MySQL 應用程式
新增專案後,會直接導向這個「新增應用程式」頁面,或是點擊導覽列中的「Add to Project」
因為 Openshift 官方有提供 MySQL 映像檔,我們就直接拉過來用,所以直接在「Deploy Image」中,選擇「Openshift」,接著選 「MySQL 5.7」。名字取個看得懂的就可以了,例如我給他起個名字叫「mysql」
往下滑,有個環境變數設定,要自己加上這些參數 (帳號、密碼與資料庫名稱),以免待會資料庫跑不起來。
MYSQL_USER 使用者名稱 MYSQL_PASSWORD 使用者密碼 MYSQL_DATABASE 資料庫名稱
這需資訊要記住唷,待會安裝 WordPress 會用的到
完成之後,看看你的主控台上是不是出現 MySQL 了呢
正常應該是藍色圈圈 (預設 1 pod),如果出現紅色或是跳出警告訊息,請看下方疑難排解
Step4 建立 WordPress 應用程式
接著,我們透過 GitHub 上的程式碼來部署 WordPress。點擊導覽列中的「Add to Project」
這次我們選擇「Browse Catalog」標籤,並點擊 「PHP」執行環境
選第一個,Bulids source code
起個名字之後,貼上下方 WordPress 的 GitHub位置。之後系統就會去拉原始碼,自動建立應用程式
https://github.com/wordpress/wordpress
給他點時間建置,之後你就能在主控台看到兩個應用程式。點擊 WordPress 右方的網址,就能進入你的網站囉 (如果打不開,請再給他點時間做 routing)
Step5 安裝與設定 WordPress
接下來就是設定資料庫資訊了,讓 我們的wordpress找的到 MySQL。點擊「Let’s Go」
請輸入剛剛在環境變數中給的帳密以及資料庫名稱,資料庫主機 (Database Host) 請填 MySQL 應用程式的內部 IP 位置,而 Table Prefix 不用更動
那麼,MySQL 應用程式的內部 IP 位置在哪裡呢?
Application -> Pods -> mysql-xxxxx
在狀態表中可以看到內部 IP 位置,把這個 10.xxx.xxx.xxx 複製過去就對了
接著就是傳統的安裝步驟了,輸入部落格帳密、設定電子郵件等等
完成囉
疑難排解
1. 甚麼是 Kubernetes
請參考相關介紹與教學文章
2. MySQL 應用程式架設不成功
假如架設出現問題,出現紅色圈圈,就要檢查紀錄訊息了,好在網頁介面可以直接看
請進入以下位置查看原因。好比下圖是忘記設定環境變數,出現的提示訊息
Application -> Pods -> mysql-xxxxx -> Logs
這部分需要自行修改 Deployment 中的 YAML 設定檔,重新部署。假如砍掉重練,只透過圖形介面沒辦法刪掉現有的部屬設定,要安裝 Openshift的 CLI 工具,透過 oc 指令修改。
參考資料
- How to set up wordpress on OpenShift in 10 minutes
- 最新OpenShift免费空间申请与使用教程-1G内存1G空间支持PHP和MysqL
很实用,谢谢分享!
不客氣唷
好的,我去試看看
想問一下V3的版本 要如何自訂域名@@?
然後能用SSH嗎?
Hi Alan,
免費版本無法自訂域名唷,請參考
https://www.openshift.com/products/pricing/
至於 SSH 你可以試試看 Openshift 的指令,請參考
https://stackoverflow.com/questions/46363262/openshift-3-ssh
請問有辦法設成中文嗎…
Hi 亮,
目前看起來是沒有中文唷>< 可以 follow GitHub 上的 issue https://github.com/openshift/origin/issues/5831
在建立 MySQL 應用程式的時候一直出現紅色的圈圈耶,請問該怎麼解決?
Hi Beneb,
你可以依照我文章中的說明檢查看看有沒有錯誤訊息
我想應該是有設定沒有做好
試試看吧~
請問如果已經在Openshift V2版有wordpress網站,該如何搬家到新版V3網站?
是否有快速的wordpress搬家法?
似乎近期要刪除V2了…
謝謝
您好
不建議搬到 v3 唷,詳情我在 v3 那篇文章有提到
你可以搬到 GCP 去,有一年免費額度,請參考:
https://jerrynest.io/cloud-launcher-wordpress/
希望有幫到你
了解,非常感謝。
感謝大大的教學 , 解說得非常詳細!!!
想問一下 如何在Openshift (v3)綁訂自訂網域?
Hi, Leo 您好
Starter 版本並沒有支援自訂網域
您可以參考 Openshift 的 Plans & Pricing
https://www.openshift.com/pricing/index.html
原來starter版本不支援自訂域名
還想用作寄存一些小項目(php+mysql),流量不大 只求穩定,可惜喔..!
請問 傑瑞窩在這 架設在那個收費空間? 收費ok嗎?謝謝!
傑瑞窩目前在 Google Cloud 上唷
一年有 300 美金額度
收費的方式可以參考 https://cloud.google.com/pricing/?hl=zh-tw
也可以用看看 Digital Ocean 最便宜的方案 5鎂/月
Digital Ocean是不錯的選擇.. C/P值高
很適合 Startup 或測試之用,謝謝你的解答!
不客氣囉 🙂