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. 模板部署 - 无需改动业务代码,一键部署
登录 Serverless 控制台,单击左侧导航栏的「函数服务」,在主界面上方选择期望创建函数的地域,并单击「新建」,进入函数创建流程。
选择使用「模版创建」来新建函数,在搜索框里输入 「WebFunc」,筛选所有 Web 函数模版,选择 Express 框架模版,点击 「下一步」,如下图所示:

在「配置」页面,您可以查看模版项目的具体配置信息并进行修改;
单击「完成」,即可创建函数。函数创建完成后,可在「函数管理」页面,查看 Web 函数的基本信息,并通过 API 网关生成的访问路径 URL 进行访问,查看您部署的 Express 项目。

02. 自定义部署 - 3 步快速迁移本地项目上云
1. 本地开发
- 首先,在确保您的本地已安装 Node.js 运行环境后,安装 Express 框架和express-generator 脚手架,初始化您的 Express 示例项目
npm install express --save
npm install express-generator --save
express WebApp
- 进入项目目录,安装依赖包
cd WebApp
npm install
- 安装完成后,本地直接启动,在浏览器里访问
http://localhost:3000,即可在本地完成Express 示例项目的访问
npm start
2. 部署上云
接下来,我们对已初始化的项目进行简单修改,使其可以通过 Web Function 快速部署,此处项目改造通常分为两步:
- 修改监听地址与端口,改为
0.0.0.0:9000 - 新增
scf_bootstrap启动文件
具体步骤如下:
- 已知在 Express 示例项目中,通过
./bin/www设置监听地址与端口,打开该文件可以发现,我们可以通过环境变量,设置指定监听端口,否则将自动监听3000

- 接下来,在项目根目录下新建
scf_bootstrap启动文件,在里面配置环境变量,并指定服务启动命令
#!/bin/bash
export PORT=9000
npm run start
创建完成后,注意修改您的可执行文件权限,默认需要 777 或 755 权限才可以正常启动
chmod 777 scf_bootstrap
- 本地配置完成后,执行启动文件,确保您的服务可以本地正常启动,接下来,登陆腾讯云云函数控制台,新建 Web 函数以部署您的 Express 项目:

3.开发管理
部署完成后,即可在 SCF 控制台快速访问并测试您的 Web 服务,并且体验云函数多项特色功能如层绑定、日志管理等,享受 Serverless 架构带来的低成本、弹性扩缩容等优势。

Web Function 使用体验
Web Function 产品文档:
Web Function 快速体验链接:
https://console.cloud.tencent.com/scf/list-create?rid=16&ns=default&keyword=WebFunc
Web Function 当前已在「成都地域」灰度发布,其他地域将陆续开放,敬请期待!

One More Thing
立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 腾讯云 Serverless 新手体验
欢迎访问:Serverless 中文网!
Serverless Web Function 实践教程(一):快速部署 Node.js Web 服务的更多相关文章
- 私活利器,docker快速部署node.js应用
http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...
- 快速使用node.js进行web开发
首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这 ...
- KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
- 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...
- Node.js web快速入门 -- KoaHub.js
介绍 KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, Async & ...
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...
- node.js Web应用框架Express.js(一)
什么是Express.js Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用,提供丰富的HTTP工具以及来自Connect框架的中间件随 ...
- node.js Web应用框架Express入门指南
node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...
- Koa – 更加强大的下一代 Node.js Web 框架
Koa 是 Express 的开发团队设计的下一代 Web 框架,其目的是为 Web 应用程序提供更小,更具表现力,更坚实的基础.Koa 没有核捆绑任何中间件,并提供了一套优雅的方法,使服务器端开 ...
随机推荐
- Pulsar部署和实践(一)
前言 本地Docker部署Pulsar消息代理实现消息发布和消息订阅 介绍 相关概念,后面有时间再花时间整理下. 实践步骤 1.使用dokcer本地部署pulsar docker run -it \ ...
- Git 系列教程(8)- 远程仓库的使用
查看远程仓库 如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出你指定的每一个远程服务器的名称 如果是刚 clone 下来的自己的库,能看到 origin,这是 Gi ...
- .NET Core 基于 Grafana Loki 日志初体验
介绍 Loki: like Prometheus, but for logs. Loki是一个轻量级的日志系统,受到Prometheus项目的启发,由Grafana团队设计和开发,所以在Grafana ...
- MySQL redo与undo日志解析
前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...
- opencv——图像直方图与反向投影
引言 在图像处理中,对于直方图这个概念,肯定不会陌生.但是其原理真的可以信手拈来吗? 本文篇幅有点长,在此列个目录,大家可以跳着看: 分析图像直方图的概念,以及opencv函数calcHist()对于 ...
- 风变编程(Python自学笔记)第11关-杀死那只“机”生虫
1.Debug:为程序排除错误. 2.SyntaxError:语法错误. 3.append()函数是列表的一个方法,要用句点.调用,且append()每次只能接受一个参数. 4.解决思路不清的两个工具 ...
- JAVA并发(2)-ReentrantLock的见解
上节,我们讲了AQS的阻塞与释放实现原理,线程间通信(Condition)的原理.这次,我们就讲讲基于AQS实现的ReentrantLock(重入锁). 1. 介绍 结合上面的ReentrantLoc ...
- 一个开源的MY BLOG
my blog My Blog是由Docker+SpringBoot+Mybatis+thymeleaf等技术实现的Java博客系统,本来是一个docker和springboot的实战练习项目,目前已 ...
- crontab 的简要介绍
1.概述: crontab 用于周期性被执行的指令,该指令从标准设备输入指令,并将指令存放在crontab文件中,供之后读取和执行. 与crontab相关的文件一共有三个: /etc/crontab ...
- Java基础语法,常用知识复习
1.开发环境搭建 1.1JDK.JRE.JVM.的关系 JDK = JRE + 开发工具集(例如javac编译工具集等) JRE = JVM + Java SE 标准类库 2.基本语法 2.1.jav ...