egg 应用迁移 | 学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 快速学习egg 应用迁移

发者学堂课程【存量应用快速迁移egg 应用迁移】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/342/detail/4013


egg应用迁移

 

计算型搬站,基于FC的函赘型Serverless,本平台提供NodeJS、Python两种语言的Serverless框架,由框架提供路由分发功能,让存量应用无需修改即可通过本平台部署到FC这种计算服务中,享受FC先进技术红利。

针对Egg应用,提供了基于Serverless框架的一种迁移方案,采用Serverless框架进行迁移,无需应用修改任何业务逻辑,零代码修改直接升级为Serverless架构,那么接下来大家看具体操作。

点击云开发平台进入快速开始页,选择应用搬站,选择语言为NodeJS计算型,应用名称,随便输入一个为Egg搬站,计算服务选择FC,剩下的都选默认。

1.png

 

点击完成创建,创建完成之后,选择开发部署打开IDE。

在IDE打开完成之后,需要把本地的应用代码就是EggJS代码拖拽到class IDE上面,在这里选择官方提供的password简单的应用,把代码拖拽上去,有文件覆盖,需要点击覆盖。文件拖拽完毕之后,可以看一下这个IDE中的资源管理器,package json,已经拖拽完毕,应用代码也已经完成,这边提供默认的几个Serverless框架。首先,ServerlessJS就是一个Serverless框架,然后这个应用是Egg应用,所以它是提供了一个关于egg的Serverless config配置文件,具体该如何上错?先打开readme,里面提供了egg应用迁移方案的地址,打开地址。

2.png

 

会进入下图页面,这个页面提供了相关操作方案。

3.png

 

首先会在package json中添加两个依赖。

完全按照这个来进行操作:

两个依赖是mime和request,把它放在dependencies里。

添加完依赖之后,要安装依赖,稍后进行安装。然后是需要把Serverless_config_egg js文件重命名为Serverless_config js

在这里就不进行重命名了,直接将内容拷贝一下,把Serverless_config_egg js文件覆盖掉。

 

最后需要配置运行时的逻辑,egg运行过程中会将运行日志默认打到当前的目录下面,当项目运行到线上的时候,它是有一定的规则的,就是FC不允许当前目录可写。所以必须要配置目录的书写规范,需要把日志写到当前磁盘的TMP下面,这样就完成了这个项目的迁移。

//将run目录和日志目录配置到/tmp临时目录,必须:

Config.rundir = /tmp;

Config.logger = {

Dir:/tmp;

}

在项目部署之前可以在本地安装一个依赖,在云端测试项目是否可以运行。Helloworld提供了两个路由,一个是路由,一个是foo路由

依赖安装完成之后可以通过IDE左上角提供的测试功能,在线上实时测试应用。

点击测试,会返回一个链接,打开测试链接,可以正常访问到Helloworld的根路径,还会有访问的日志输出,访问foo路径也会有相应请求值输出。

4.png

 

当调试完成之后,进行部署,选择要部署的环境以及灰度设置。

5.png

 

之后点击部署,等待部署完成即可。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
JavaScript 前端开发 jenkins
【前端】vue项目打包Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest解决方案
【前端】vue项目打包Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest解决方案
988 0
|
1月前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
112 3
|
6月前
|
JavaScript 前端开发 Java
ruoyi-vue-pro 项目安装使用过程中的问题解决
ruoyi-vue-pro 项目安装使用过程中的问题解决
421 0
|
3月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
3月前
|
中间件 Python Windows
【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
|
3月前
|
数据库 Python
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
|
6月前
|
JavaScript 开发工具 git
Nuxt3 实战 (三):使用 release-it 自动管理版本号和生成 CHANGELOG
这篇文章介绍了如何使用release-it工具实现以下功能:增加版本号并提交Git、生成变更日志(Changelog)并提交到Git、创建Git标签并推送到远程仓库、发布到npm等软件仓库、在GitHub、GitLab等平台创建发行版。文章还提到了前置知识,介绍了SemVer规范的内容和安装依赖的步骤。在文章的最后,展示了使用release-it生成的效果预览、git打的标签Tag以及待办事项(Todo)。最后还提到了安装NuxtUI。
101 0
Nuxt3 实战 (三):使用 release-it 自动管理版本号和生成 CHANGELOG
|
6月前
|
缓存 算法 开发者
【Conan 入门教程 】了解 Conan2.1 中内置部署策略
【Conan 入门教程 】了解 Conan2.1 中内置部署策略
128 1
|
JavaScript 测试技术 开发工具
从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
448 0
|
Python
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
227 0