迁移 Express 到函数计算

barby-dalbosco-bzC3Emeb3-0-unsplash.jpg

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

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

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

背景信息

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

步骤一:准备环境

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

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

步骤二:迁移应用

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

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

    cd <project-name>
  3. 执行如下命令依赖安装。服务器

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

  • MacOS、Linux 平台运行项目:
    DEBUG=myapp:* npm start
  • windows 平台运行项目:
    set DEBUG=myapp:* & npm start
  1. 执行命令 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 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,作最懂云原生开发者的技术圈。”

相关文章
相关标签/搜索