当前位置: 首页 > news >正文

将nestjs项目迁移到阿里云函数

注意:长耗时,高内存 的应用,定时任务 不适合迁移。

根据模板创建项目

一、模板配置修改


1.node版本修改


由于我的nestjs项目是node18的需要修改
pre-deploy项目:
改成

resources:framework:component: fc3actions:pre-deploy:- run: export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH && npm installpath: ./code- run: export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH && npm run buildpath: ./code

注意:这里并不是随便改的

修改参考:通过控制台应用中心管理流水线_函数计算(FC)-阿里云帮助中心

找到 资源描述文件环境变量 这一节 进行修改

公共层修改

参考awesome-layers/docs/Nodejs18/README.md at main · awesome-fc/awesome-layers · GitHub

layers:- acs:fc:${vars.region}:official:layers/Nodejs18/versions/3
environmentVariables:PATH: >-/opt/nodejs18/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin

2.内网数据库连接配置

如果用到了rds或者阿里云上自建的mysql数据库

则配置

internetAccess: true
vpcConfig:securityGroupId: sg-安全组idvpcId: vpc-vpcIdvSwitchIds:- vsw-虚拟交换机id

在ECS上自建的数据库可以直接复制ECS对应的id,注意配置不要写在tigger后面
修改函数区域为RDS或自建数据库所在区域

vars:region: 'cn-beijing'

3.时区修改

environmentVariables:TZ: Asia/Shanghai

二、代码修改


1.监听端口修改


由于在s.yaml中监听端口配置为9000

customRuntimeConfig:command:- ./bootstrapport: 9000

那么,在main.ts的监听端口也修改为9000,即
 

async function bootstrap() {const app = await NestFactory.create(AppModule);await app.listen(9000);
}

2.启用.env配置文件


默认的.fcignore文件配置了忽略.env,会导致程序的一些数据库配置文件获取不到,这里需要将.fcignore的下列内容删除后提交即可。

./.env*

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【开端】通过Java 过滤器灵活配置URL访问权限,并返回403
  • 浅谈基础的图算法——Tarjan求强联通分量算法(c++)
  • 本地Linux服务器创建我的世界MC私服并实现与好友异地远程联机游戏
  • java学习笔记 VSCode
  • Promethues Metrics
  • 深度学习助力自动驾驶:YOLO目标检测系统的实现与优化
  • 大数据mapper书写范式hdfs
  • 【中级软件设计师】加密技术、数字签名、数字证书 (附软考真题)
  • 大数据系列之:CentOS7安装Python3详细步骤
  • PicGo + gitee 免费搭建个人图床
  • Typora mac版本激活
  • Python | Leetcode Python题解之第327题区间和的个数
  • 深入理解 AWS CodePipeline
  • leetcode169:多数元素
  • 使用 宝塔面板 部署 php网站
  • [笔记] php常见简单功能及函数
  • 【node学习】协程
  • 2019.2.20 c++ 知识梳理
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • AngularJS指令开发(1)——参数详解
  • ES学习笔记(12)--Symbol
  • Laravel Mix运行时关于es2015报错解决方案
  • LeetCode29.两数相除 JavaScript
  • PhantomJS 安装
  • webpack+react项目初体验——记录我的webpack环境配置
  • 从0到1:PostCSS 插件开发最佳实践
  • 浏览器缓存机制分析
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #if和#ifdef区别
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Python第六天)文件处理
  • (补充)IDEA项目结构
  • (独孤九剑)--文件系统
  • (二) 初入MySQL 【数据库管理】
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (转)C#调用WebService 基础
  • (转)Google的Objective-C编码规范
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (轉貼) UML中文FAQ (OO) (UML)
  • (自用)网络编程
  • ***利用Ms05002溢出找“肉鸡
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • ../depcomp: line 571: exec: g++: not found
  • .chm格式文件如何阅读
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net 代码性能 - (1)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET6 开发一个检查某些状态持续多长时间的类