迁移 Express 到函数计算
首先介绍下在本文出现的几个比较重要的概念:
函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考。
备注: 本文介绍的技巧需要 Fun 版本大于等于 3.6.3。
背景信息
Express 是一个基于 Node.js 平台的极简、灵活的 Web 应用开发框架,它提供一系列强大的特征,帮助你创建各种 Web 和移动设备应用。
步骤一:准备环境
本文介绍的方法,不需要安装 Docker,仅仅安装 Fun 即可,最简单的方式就是直接下载可执行的二进制文件。
- 安装 Fun 到本机。详情请参见安装文档。
- 执行
fun --version
检查安装是否成功。
步骤二:迁移应用
-
执行以下命令创建一个 Express 项目,详情请参见 Express application generator,或者您可以按照官方描述的步骤创建简单的 Hello world example,若有 Express 项目则跳过该步骤。
npx express-generator
-
执行以下命令进入刚创建的示例项目中或您的项目中。
cd <project-name>
-
执行以下命令依赖安装。
npm install
-
执行以下命令运行项目。
- MacOS、Linux 平台运行项目:
DEBUG=myapp:* npm start
- windows 平台运行项目:
set DEBUG=myapp:* & npm start
-
执行命令
fun deploy -y
将项目部署至函数计算。
Fun 会自动进入部署流程。$fun deploy -y current folder is not a fun project. Generating /Users/txd123/Desktop/Express/bootstrap... Generating template.yml... Generate Fun project successfully! ========= Fun will use 'fun deploy' to deploy your application to Function Compute! ========= using region: cn-qingdao using accountId: ***********3743 using accessKeyId: ***********Ptgk using timeout: 60 Collecting your services information, in order to caculate devlopment changes... Resources Changes(Beta version! Only FC resources changes will be displayed): ... ... ... ... trigger httpTrigger deploy success function Express deploy success service Express deploy success Detect 'DomainName:Auto' of custom domain 'Domain' Request a new temporary domain ... The assigned temporary domain is 15795585-XXX.test.functioncompute.com,expired at 2020-04-12 10:46:25, limited by 1000 per day. Waiting for custom domain Domain to be deployed... custom domain Domain deploy success
部署完成后,您可以根据部署成功的日志看到,函数计算为您生成了临时域名 ,您通过这个临时域名直接访问刚刚部署的应用。
注意:临时域名仅仅用作演示以及开发,具有时效性,如需用作生产,请绑定已经在阿里云备案的域名,详情请参见绑定自定义域名。
总结
本文介绍如何将 Express 应用部署到函数计算。与传统的部署方法相比,您可将传统的 Express 应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”
相关文章
- 迁移云计算工作负载的4个基本策略
- 再探Kotlin 跨平台——迁移Paging分页库至KMM
- 【愚公系列】2022年12月 数据库-关系数据库迁移框架FluentMigrator的使用
- 掌握Conda环境迁移的几种方式,从此不在重复配环境
- 甲骨文云计算平台推出免费迁移转换工具 吸引企业从微软或亚马逊迁移过来
- Linux平台上的数据迁移利器(linux数据迁移工具)
- Linux yum安装sz:实现无缝迁移(linuxyumsz)
- Python讨论迁移到GitHub
- 轻松搬家:使用Oracle迁移工具快速完成数据库迁移(oracle迁移工具)
- MySQL 数据库的迁移该如何操作(mysql迁移)
- 使用Oracle EXPBD实现数据库迁移(oracle expdb)
- 深入解析Oracle数据库迁移细节(oracle数据库迁移步骤)
- 实现数据零停机网站Redis迁移实践(网站redis迁移)
- 从OC4J到Oracle实现Java应用无缝迁移(oc4j oracle)
- 从MongoDB到Oracle现代数据迁移之路(mongo转oracle)
- 短暂迁移从服务器迁移至Redis(服务器 redis)
- 使用Redis导入ES实现高效数据迁移(把redis数据导入es)
- 方法三种迁移 Redis 集群的方法(redis集群迁移三种)