我的GoDaddyWordPress 託管一年的約到了,當初因為MSDN 訂閱(MSDN Subscriber)到期,想說沒有免費的Azure可以用,只好付錢給GoDaddy,沒想到後來公司又給訂閱服務,趕快在到期前一天把wordpress又搬回Azure.
記得第一次在Azure用Wordpress,根據Azure樣板(template)是內建ClearDB,而且免費的的額度只有20MB跟4個連線數,小就算了,速度還慢到一個不可思議,這八成是微軟跟這間廠商有簽了甚麼合約,這問題已經有一堆人在抱怨(超過1500個人反應),可以參考這裡跟這裡,再來ClearDB的費用不能用免費的Azure額度,無奈只好自己建立VM的方式來處理吧,這裡最快的方法就是找人家做好的docker repository ,一次把Apache+PHP+wordpress+mysql打成一包裝起來。
找了一下Azure的Marketplace發現已經有這個,就試著安裝看看,但是最後在deploy的時候出現錯誤(好像是azure-docker-extension相關的錯誤),不過我懶得找錯誤,就挑到自己手動裝!
接下來因為我選的VM是Ubuntu 15,所以都用打指令的方式,首先用ssh進到ubuntu裡面,檢查版本,
docker -v
docker-compose -v
再來去docker hub找人家整理好的repository ,一開始先試了下這個,但是每次stop container後再重啟,網站就壞掉了(問題好像是無法連結之前的檔案),這裡看一看,也懶得找問題就換下一個repository,下一個是bitnami出的版本,由於有支援docker-compose,可以直接跳著看到”Specifying Environment variables using Docker Compose”這部分,先用nano建立一個yml檔案,
nano docker-compose.yml
再來把該填的設定,原封不用貼上去,然後特別是username & password,建議不要用預設的
WORDPRESS_USERNAME: WordPress application username. Default: user
WORDPRESS_PASSWORD: WordPress application password. Default: bitnami
ctrl + x 存檔後,就可以跑
docker-compose -d up
再來把舊的wordpress跟新的wordpress都裝上All-in-One WP Migration,照著畫面上做export&import,這樣所有內容(文章&資料庫&圖片)就全部都搬到新的網站上。
最後,把DNS設定改一下,這裡看要用CNAME record or A record(選一個可以用就可以),如果要用CNAME要先去Azure先把DNS設定好,可以參考這裡,設定好會像這樣
最後再去GoDaddy的DNS Management,把舊的A record & CNAME record 換成新的就收工。