Serverless Web Function 實踐教程(一):快速部署 Node.js Web 服務

作爲目前廣受歡迎的 Web 服務開發語言,Node.js 提供了衆多支持 HTTP 場景的相關功能,可以說是爲 Web 構建而生。因此,基於 Node.js,也誕生了多種 Web 服務框架,它們對 Node.js 的內容進行擴展,專注於 Web 服務的直接構建和開發,如 Express、Koa 等,成爲了開發 Web 服務的第一首選。

雲函數 Web Function 的發佈,也爲開發者帶來了 Web 服務上雲的全新方案,只需簡單修改監聽端口,即可將目前流行的 Node.js 框架直接部署上雲,享受 Serverless 技術帶來的免運維、低成本、按需擴縮容的衆多優勢。

本篇文檔將爲您指導,如何通過 Web Function,將您的本地 Express 項目快速部署到雲端。

01. 模板部署 - 無需改動業務代碼,一鍵部署

  1. 登錄 Serverless 控制檯,單擊左側導航欄的「函數服務」,在主界面上方選擇期望創建函數的地域,並單擊「新建」,進入函數創建流程。

  2. 選擇使用「模版創建」來新建函數,在搜索框裏輸入 「WebFunc」,篩選所有 Web 函數模版,選擇 Express 框架模版,點擊 「下一步」,如下圖所示:

  1. 在「配置」頁面,您可以查看模版項目的具體配置信息並進行修改;

  2. 單擊「完成」,即可創建函數。函數創建完成後,可在「函數管理」頁面,查看 Web 函數的基本信息,並通過 API 網關生成的訪問路徑 URL 進行訪問,查看您部署的 Express 項目。

02. 自定義部署 - 3 步快速遷移本地項目上雲

1. 本地開發

  1. 首先,在確保您的本地已安裝 Node.js 運行環境後,安裝 Express 框架和express-generator 腳手架,初始化您的 Express 示例項目
npm install express --save
npm install express-generator --save
express WebApp
  1. 進入項目目錄,安裝依賴包
cd WebApp
npm install
  1. 安裝完成後,本地直接啓動,在瀏覽器裏訪問 http://localhost:3000,即可在本地完成Express 示例項目的訪問
npm start

2. 部署上雲

接下來,我們對已初始化的項目進行簡單修改,使其可以通過 Web Function 快速部署,此處項目改造通常分爲兩步:

  • 修改監聽地址與端口,改爲 0.0.0.0:9000
  • 新增 scf_bootstrap 啓動文件

具體步驟如下:

  1. 已知在 Express 示例項目中,通過 ./bin/www 設置監聽地址與端口,打開該文件可以發現,我們可以通過環境變量,設置指定監聽端口,否則將自動監聽 3000
  1. 接下來,在項目根目錄下新建 scf_bootstrap 啓動文件,在裏面配置環境變量,並指定服務啓動命令
#!/bin/bash
export PORT=9000
npm run start

創建完成後,注意修改您的可執行文件權限,默認需要 777755 權限纔可以正常啓動

chmod 777 scf_bootstrap
  1. 本地配置完成後,執行啓動文件,確保您的服務可以本地正常啓動,接下來,登陸騰訊云云函數控制檯,新建 Web 函數以部署您的 Express 項目:

3.開發管理

部署完成後,即可在 SCF 控制檯快速訪問並測試您的 Web 服務,並且體驗雲函數多項特色功能如層綁定、日誌管理等,享受 Serverless 架構帶來的低成本、彈性擴縮容等優勢。

Web Function 使用體驗

Web Function 當前已在「成都地域」灰度發佈,其他地域將陸續開放,敬請期待!

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗

歡迎訪問:Serverless 中文網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章