迁移 Express 到函数计算

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介:

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

函数计算(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 应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
数据可视化 JavaScript 前端开发
Plotly 的主要特点
Plotly 的主要特点
341 1
|
7月前
|
移动开发 JavaScript 前端开发
|
10月前
|
存储 安全 数据管理
StarTowerChain:去中心化匿名云存储,重塑数据存储未来
在数据爆炸时代,StarTowerChain 以全球首创的去中心化匿名云存储技术强势登场。其分布式架构将数据分割存储于全球节点,大幅提升弹性和抗风险能力;加密技术和匿名化功能确保数据安全与隐私保护。广泛应用于金融、法律、能源、教育等领域,赋能各行业发展,引领云存储行业新变革。
408 22
|
存储 数据安全/隐私保护 云计算
多云网络环境:定义、优势与挑战
多云网络环境:定义、优势与挑战
302 5
|
API 开发者 内存技术
鸿蒙next版开发:相机开发-会话管理(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了完整的API来管理相机会话,包括创建相机输入流、预览输出流、拍照输出流,配置和管理会话。本文详细介绍了相机会话管理的基础步骤和代码示例,涵盖会话创建、闪光灯和焦距配置及错误处理等内容,帮助开发者更好地利用ArkTS开发相机应用。
348 4
|
安全 数据安全/隐私保护
什么是权限管理
什么是权限管理
402 0
什么是权限管理
|
机器学习/深度学习 人工智能 自然语言处理
280页PDF,全方位评估OpenAI o1,Leetcode刷题准确率竟这么高
【10月更文挑战第24天】近年来,OpenAI的o1模型在大型语言模型(LLMs)中脱颖而出,展现出卓越的推理能力和知识整合能力。基于Transformer架构,o1模型采用了链式思维和强化学习等先进技术,显著提升了其在编程竞赛、医学影像报告生成、数学问题解决、自然语言推理和芯片设计等领域的表现。本文将全面评估o1模型的性能及其对AI研究和应用的潜在影响。
332 1
|
数据采集
基于R语言的GD库实现地理探测器并自动将连续变量转为类别变量
【9月更文挑战第9天】在R语言中,可通过`gd`包实现地理探测器。首先,安装并加载`gd`包;其次,准备包含地理与因变量的数据框;然后,使用`cut`函数将连续变量转换为分类变量;最后,通过`gd`函数运行地理探测器,并打印结果以获取q值等统计信息。实际应用时需根据数据特点调整参数。
558 8
|
SQL 分布式计算 大数据
"揭秘MaxCompute大数据秘术:如何用切片技术在数据海洋中精准打捞?"
【8月更文挑战第20天】在大数据领域,MaxCompute(曾名ODPS)作为阿里集团自主研发的服务,提供强大、可靠且易用的大数据处理平台。数据切片是其提升处理效率的关键技术之一,它通过将数据集分割为小块来优化处理流程。使用MaxCompute进行切片可显著提高查询性能、支持并行处理、简化数据管理并增强灵活性。例如,可通过SQL按时间或其他维度对数据进行切片。此外,MaxCompute还支持高级切片技术如分区表和分桶表等,进一步加速数据处理速度。掌握这些技术有助于高效应对大数据挑战。
446 0
|
机器学习/深度学习 自然语言处理
多语言模型在实际应用中有哪些优势和局限性?
多语言模型在实际应用中有哪些优势和局限性?