迁移 Express 到函数计算

本文涉及的产品
函数计算FC,每月15万CU 3个月
.cn 域名,1个 12个月
简介:

首先介绍下在本文出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考

备注: 本文介绍的技巧需要 Fun 版本大于等于 3.6.3。
2

背景信息

Express 是一个基于 Node.js 平台的极简、灵活的 Web 应用开发框架,它提供一系列强大的特征,帮助你创建各种 Web 和移动设备应用。

步骤一:准备环境

本文介绍的方法,不需要安装 Docker,仅仅安装 Fun 即可,最简单的方式就是直接下载可执行的二进制文件。

  1. 安装 Fun 到本机。详情请参见安装文档
  2. 执行 fun --version 检查安装是否成功。

步骤二:迁移应用

  1. 执行以下命令创建一个 Express 项目,详情请参见 Express application generator,或者您可以按照官方描述的步骤创建简单的 Hello world example,若有 Express 项目则跳过该步骤。

     npx express-generator
  2. 执行以下命令进入刚创建的示例项目中或您的项目中。

    cd <project-name>
  3. 执行以下命令依赖安装。

    npm install
  4. 执行以下命令运行项目。

    • MacOS、Linux 平台运行项目:

      DEBUG=myapp:* npm start
    • windows 平台运行项目:

      set DEBUG=myapp:* & npm start
  5. 执行命令 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 应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
4月前
|
Serverless 异构计算
函数计算FC部署问题之函数报错如何解决
函数计算FC部署是指在阿里云Function Compute服务上部署函数或应用程序的过程,它提供了一个无需管理服务器即可运行代码的平台;本合集将介绍和总结函数计算FC部署中常见的问题与解决方案,指导用户如何高效部署和管理Serverless函数。
|
4月前
|
Serverless
函数计算FC部署问题之报错如何解决
函数计算FC部署是指在阿里云Function Compute服务上部署函数或应用程序的过程,它提供了一个无需管理服务器即可运行代码的平台;本合集将介绍和总结函数计算FC部署中常见的问题与解决方案,指导用户如何高效部署和管理Serverless函数。
|
11月前
87 # express 应用和创建应用的分离
87 # express 应用和创建应用的分离
21 0
|
27天前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
27天前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
2月前
|
运维 Serverless 测试技术
函数计算产品使用问题之如何配置一个应用对应多个函数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
Kubernetes Serverless API
Serverless阿里云函数计算问题之使用示例如何解决
本文探讨了Serverless场景下实例Exec功能的关键特性及其与K8S和Docker的主要区别:实例Exec仅适用于存活实例,且请求不占用并发度,被视为InvokeFunction调用并据此计费。此外,还介绍了阿里云函数计算中实例Exec功能的使用方法,包括通过控制台、API及CLI工具的操作流程,并详细解释了WebSocket连接对计费的影响以及如何在控制台上登录函数实例进行问题排查的具体步骤。
39 0
|
4月前
|
人工智能 Serverless API
函数计算常见问题之函数计算和云上安装依赖的关系是什么
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
|
2月前
|
运维 监控 JavaScript
函数计算产品使用问题之将自定义层(nodejs 20)添加到了函数中,本地运行没有问题,但在函数计算中出现问题,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之哪里添加函数计算触发器能够触发某个函数work
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。