之前有和大家分享過在 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/
o3s2 - [教學] 使用 Openshift (v3) 架設 WordPress

Step2 建立 Openshift 專案

登入主控台後,新增一個專案

os newpj0 - [教學] 使用 Openshift (v3) 架設 WordPress

輸入你的專案名稱,需要是獨一無二的喔,無法用別人用過的名字

os newpj - [教學] 使用 Openshift (v3) 架設 WordPress

Step3 建立 MySQL 應用程式

新增專案後,會直接導向這個「新增應用程式」頁面,或是點擊導覽列中的「Add to Project」

因為 Openshift 官方有提供 MySQL 映像檔,我們就直接拉過來用,所以直接在「Deploy Image」中,選擇「Openshift」,接著選 「MySQL 5.7」。名字取個看得懂的就可以了,例如我給他起個名字叫「mysql」

mtsql22 - [教學] 使用 Openshift (v3) 架設 WordPress

往下滑,有個環境變數設定,要自己加上這些參數 (帳號、密碼與資料庫名稱),以免待會資料庫跑不起來。

MYSQL_USER 使用者名稱
 MYSQL_PASSWORD 使用者密碼
 MYSQL_DATABASE 資料庫名稱

這需資訊要記住唷,待會安裝 WordPress 會用的到

mtsql3 - [教學] 使用 Openshift (v3) 架設 WordPress

完成之後,看看你的主控台上是不是出現 MySQL 了呢

mtsql23 - [教學] 使用 Openshift (v3) 架設 WordPress

正常應該是藍色圈圈 (預設 1 pod),如果出現紅色或是跳出警告訊息,請看下方疑難排解


Step4 建立 WordPress 應用程式

接著,我們透過 GitHub 上的程式碼來部署 WordPress。點擊導覽列中的「Add to Project」
這次我們選擇「Browse Catalog」標籤,並點擊 「PHP」執行環境

php0 - [教學] 使用 Openshift (v3) 架設 WordPress

選第一個,Bulids source code

php1 - [教學] 使用 Openshift (v3) 架設 WordPress

起個名字之後,貼上下方 WordPress 的 GitHub位置。之後系統就會去拉原始碼,自動建立應用程式

https://github.com/wordpress/wordpress
php2 - [教學] 使用 Openshift (v3) 架設 WordPress

給他點時間建置,之後你就能在主控台看到兩個應用程式。點擊 WordPress 右方的網址,就能進入你的網站囉 (如果打不開,請再給他點時間做  routing)

wp55 - [教學] 使用 Openshift (v3) 架設 WordPress

Step5 安裝與設定 WordPress

接下來就是設定資料庫資訊了,讓 我們的wordpress找的到 MySQL。點擊「Let’s Go」

os3 wp1 - [教學] 使用 Openshift (v3) 架設 WordPress

請輸入剛剛在環境變數中給的帳密以及資料庫名稱,資料庫主機 (Database Host) 請填 MySQL 應用程式的內部 IP 位置,而 Table Prefix 不用更動

wp connect - [教學] 使用 Openshift (v3) 架設 WordPress

那麼,MySQL 應用程式的內部 IP 位置在哪裡呢?

Application -> Pods -> mysql-xxxxx

在狀態表中可以看到內部 IP 位置,把這個 10.xxx.xxx.xxx 複製過去就對了

pod - [教學] 使用 Openshift (v3) 架設 WordPress

接著就是傳統的安裝步驟了,輸入部落格帳密、設定電子郵件等等

os3 wp4 - [教學] 使用 Openshift (v3) 架設 WordPress

完成囉

wp445 - [教學] 使用 Openshift (v3) 架設 WordPress

疑難排解

1. 甚麼是 Kubernetes

請參考相關介紹與教學文章

2. MySQL 應用程式架設不成功

假如架設出現問題,出現紅色圈圈,就要檢查紀錄訊息了,好在網頁介面可以直接看

mysql failed - [教學] 使用 Openshift (v3) 架設 WordPress

請進入以下位置查看原因。好比下圖是忘記設定環境變數,出現的提示訊息

Application -> Pods -> mysql-xxxxx -> Logs
openshift3 error2 - [教學] 使用 Openshift (v3) 架設 WordPress

這部分需要自行修改 Deployment 中的 YAML 設定檔,重新部署。假如砍掉重練,只透過圖形介面沒辦法刪掉現有的部屬設定,要安裝 Openshift的 CLI 工具,透過 oc 指令修改。


參考資料

Show CommentsClose Comments

18 Comments

  • Jimmy
    Posted 2018-10-26 at 17:24:34 0Likes

    很实用,谢谢分享!

    • Jerry
      Posted 2018-11-07 at 19:24:08 0Likes

      不客氣唷

  • Huang Alan
    Posted 2018-05-10 at 20:21:59 0Likes

    好的,我去試看看

  • Huang Alan
    Posted 2018-05-09 at 19:28:04 0Likes

    想問一下V3的版本 要如何自訂域名@@?
    然後能用SSH嗎?

  • Posted 2018-05-02 at 12:55:16 0Likes

    請問有辦法設成中文嗎…

  • Beneb Siny
    Posted 2018-02-06 at 18:23:47 0Likes

    在建立 MySQL 應用程式的時候一直出現紅色的圈圈耶,請問該怎麼解決?

    • Jerry
      Posted 2018-02-06 at 23:19:45 0Likes

      Hi Beneb,

      你可以依照我文章中的說明檢查看看有沒有錯誤訊息
      我想應該是有設定沒有做好
      試試看吧~

  • Kidd Cheng
    Posted 2017-09-27 at 20:09:00 0Likes

    請問如果已經在Openshift V2版有wordpress網站,該如何搬家到新版V3網站?
    是否有快速的wordpress搬家法?
    似乎近期要刪除V2了…
    謝謝

    • Jerry
      Posted 2017-09-27 at 21:06:00 0Likes

      您好
      不建議搬到 v3 唷,詳情我在 v3 那篇文章有提到
      你可以搬到 GCP 去,有一年免費額度,請參考:
      https://jerrynest.io/cloud-launcher-wordpress/
      希望有幫到你

    • Kidd Cheng
      Posted 2017-09-27 at 21:48:00 0Likes

      了解,非常感謝。

  • leo Amon
    Posted 2017-08-27 at 01:23:00 0Likes

    感謝大大的教學 , 解說得非常詳細!!!
    想問一下 如何在Openshift (v3)綁訂自訂網域?

    • Jerry
      Posted 2017-08-29 at 16:28:00 0Likes

      Hi, Leo 您好

      Starter 版本並沒有支援自訂網域
      您可以參考 Openshift 的 Plans & Pricing
      https://www.openshift.com/pricing/index.html

    • leo Amon
      Posted 2017-09-03 at 15:36:00 0Likes

      原來starter版本不支援自訂域名
      還想用作寄存一些小項目(php+mysql),流量不大 只求穩定,可惜喔..!

      請問 傑瑞窩在這 架設在那個收費空間? 收費ok嗎?謝謝!

    • Jerry
      Posted 2017-09-03 at 22:50:00 0Likes

      傑瑞窩目前在 Google Cloud 上唷
      一年有 300 美金額度
      收費的方式可以參考 https://cloud.google.com/pricing/?hl=zh-tw

      也可以用看看 Digital Ocean 最便宜的方案 5鎂/月

    • Leo Cheung
      Posted 2017-09-05 at 21:51:00 0Likes

      Digital Ocean是不錯的選擇.. C/P值高
      很適合 Startup 或測試之用,謝謝你的解答!

    • Jerry
      Posted 2017-09-05 at 23:21:00 0Likes

      不客氣囉 🙂

發表回應