
用Azure免費架站,不香嗎~?😀😀😀😀😀
- 在Azure建立「Web應用程式服務」,可選擇使用code(如zip檔、github或利用ide/cli發佈等)或docker image,可選擇F1免費方案,建完會產生一個「App Service」(實際上是一個container app)及「App Service方案」(實際上是一個VM)。
- 一個「App Service方案」可以放10個「App Service」,一個地區(Region)可建立最多10個「App Service方案」,也就是單一地區最多可建10×10=100「App Service」,但要注意的是某些地區比較熱門,可能無法建立成功,可以換地區試試。
- 但也有限制及缺點,主要是每天只能使用60 min CPU time(流量不高倒還好),20分鐘無人訪問就休眠,每次冷啟動可能要5~30秒,想要Always On那麼還是乖乖花錢找Host,在Azure升級方案架個人小站不太划算。
- 也可以使用「容器應用程式」並指定docker image建立服務,此時會順便建立一個網路層(container network),但注意這沒有免費方案。
- 容器應用程式即便指定了TCP,也無法對外服務,僅供同網路層內的容器連線,除非指定HTTPS才能對外服務,這真是
莫名其妙的限制。 - 注意,App Service無法直接加入容器應用程式相同的網路層,你以為背後都是容器,但實際上App Service是比較像是在VM或Docker in Docker的Container,而容器應用程式是像k8s架構的container+ingress網路,因此只有同樣是容器應用程式才有辦法加入。
- App Service可以直接選擇建立Wordpress,實際上也是幫你建立App Service(可選F1免費方案)+彈性資料庫(注意要錢!!)。
- 在Azure如採用wordpress+sqlite,只需用一般的App Service建立,就不需要資料庫了。
- 此站因使用的是lolipop.jp的空間,採用的是最便宜無資料庫的方案(三年方案99円/月=NT$20/月,硬碟120G),理論上也可以照辦,但初始安裝時,建立sqlite資料庫一直不成功,懷疑是不是sqlite3.defensive設定的問題(可透過增加目錄下.user.ini修改)或是mysqli/sqlite函式庫版本的bug,也懶得一個個找問題了,就直接拿現成建好scheme的sqlite資料庫蓋過去就可以正常使用了。
- 對單純且主要只呈現文字的網站,靜態網站內容產生器(如HUGO)其實是更好的選擇,全靜態網頁的嚮應速度肯定是嘎嘎棒,要做網站內容搜尋可以掛Google Search,留言可以掛Github issue,大部份的網站其實這樣就足夠了(需要更複雜點的功能可以把網站架在像Netlify的免費空間,上面提供了非常多的Function供靜態網站使用),缺點就是沒辦法隨時隨地直接打開網站登入編輯文章,且工具操作實際上蠻Geek的,對電腦資訊要求能力比較高,一般人還是用Wordpress較沒門檻。