首先介紹下在本文出現(xiàn)的幾個(gè)比較重要的概念:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海陵免費(fèi)建站歡迎大家使用!函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過函數(shù)計(jì)算,用戶無需管理服務(wù)器等運(yùn)行情況,只需編寫代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶代碼,而用戶只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。函數(shù)計(jì)算更多信息 參考。
Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過一個(gè)資源配置文件(template.yml),協(xié)助您進(jìn)行開發(fā)、構(gòu)建、部署操作。Fun 的更多文檔 參考。
備注: 本文介紹的技巧需要 Fun 版本大于等于 3.6.9。
Egg.js 官方描述為:
Egg.js 為企業(yè)級(jí)框架和應(yīng)用而生,我們希望由 Egg.js 孕育出更多上層框架,幫助開發(fā)團(tuán)隊(duì)和開發(fā)人員降低開發(fā)和維護(hù)成本。
Egg 奉行『約定優(yōu)于配置』,按照一套統(tǒng)一的約定進(jìn)行應(yīng)用開發(fā),團(tuán)隊(duì)內(nèi)部采用這種方式可以減少開發(fā)人員的學(xué)習(xí)成本,開發(fā)人員不再是『釘子』,可以流動(dòng)起來。
Egg 的插件機(jī)制有很高的可擴(kuò)展性,一個(gè)插件只做一件事。Egg 通過框架聚合這些插件,并根據(jù)自己的業(yè)務(wù)場(chǎng)景定制配置,這樣應(yīng)用的開發(fā)成本就變得很低。
Egg 特性:
本文涉及到的應(yīng)用示例部署后的鏈接,點(diǎn)擊預(yù)覽效果:
Egg.js 應(yīng)用示例: http://mtime.functioncompute.com/hot
首先按照 Fun 的 安裝文檔里介紹的方法將 Fun 安裝到本機(jī)。
PS: 本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡(jiǎn)單的方式就是直接下載可執(zhí)行的二進(jìn)制文件。
安裝完成后,可以執(zhí)行 fun —version 檢查 Fun 是否安裝成功。
根據(jù)官方 快速入門文檔描述的步驟依次如下操作。
初始化一個(gè) egg.js 示例:
mkdir egg-example && cd egg-example
npm init egg --type=simple
npm i
將該示例在本地運(yùn)行測(cè)試:
npm run dev
然后可以在瀏覽器訪問 http://127.0.0.1:7001 查看效果。
本地開發(fā)完成后,可以直接使用如下命令進(jìn)行一鍵部署:
fun deploy -y
這里我們拿一個(gè)開源的 Egg.js web 應(yīng)用做示例: https://github.com/OrangeXC/mtime
首先我們需要將該應(yīng)用克隆下來:
git clone https://github.com/OrangeXC/mtime
進(jìn)入到 mtime 目錄,使用 npm 安裝依賴:
npm install
本地啟動(dòng)應(yīng)用:
npm run dev
本地啟動(dòng)應(yīng)用時(shí),會(huì)使用
config/config.default.js
這個(gè)配置,需要將該配置中的 mysql 的 username、password 等屬性配置為正確的值,才能將應(yīng)用啟動(dòng)起來。
啟動(dòng)完成后,本地通過瀏覽器打開網(wǎng)址 http://127.0.0.1:7001 預(yù)覽效果即可。
當(dāng)本地測(cè)試完成后,我們就要考慮如何將其部署到線上了。部署到線上,Egg.js 默認(rèn)會(huì)優(yōu)先使用
config/config.prod.js
的配置,我們可以配置線上的數(shù)據(jù)庫到這個(gè)文件里,這樣就可以實(shí)現(xiàn)本地開發(fā)與線上部署使用不同的數(shù)據(jù)庫的目的了。
當(dāng)然,在本地也可以驗(yàn)證下配置是否正確,直接使用
npm run start
就可以將應(yīng)用以生產(chǎn)的方式運(yùn)行起來,使用
npm run stop
可以將應(yīng)用停止。
最后,我們還需要修改下 Egg.js 的緩存與日志目錄,我們添加下面的內(nèi)容到
config/config.prod.js
中:
config.rundir = '/tmp/run',
config.logger = {
dir: '/tmp/log',
}
上面的配置表示將 Egg.js 緩存以及日志寫到函數(shù)計(jì)算的可寫目錄內(nèi)(日志輸出到 console 也是可以的)。
最后,我們使用 Fun 一鍵部署:
fun deploy -y
部署完成后,可以在終端輸出看到臨時(shí)域名 13500180-1986114430573743.test.functioncompute.com,通過瀏覽器打開臨時(shí)域名可以看到與本地運(yùn)行時(shí)一樣的效果。
本文主要介紹了如何將 Egg.js 應(yīng)用部署到函數(shù)計(jì)算。相比較與傳統(tǒng)的部署方法,不僅沒有更復(fù)雜,還省略了購買機(jī)器、安裝配置 Node、Npm 的步驟??梢詫?shí)現(xiàn),將傳統(tǒng)的 Egg.js 應(yīng)用在本地開發(fā)完成后,一鍵部署到遠(yuǎn)端直接用于生產(chǎn),并擁有了彈性伸縮、按量付費(fèi)、免運(yùn)維等特性。
如果您在遷移您的應(yīng)用過程中遇到了問題,歡迎加入我們的 dingding 群 11721331 反饋。
“ 阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)者的技術(shù)圈。”
網(wǎng)頁名稱:輕松搭建基于Serverless的Egg.jsWeb應(yīng)用-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://m.newbst.com/article36/dehppg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、虛擬主機(jī)、營(yíng)銷型網(wǎng)站建設(shè)、域名注冊(cè)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容