当前位置:   article > 正文

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

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

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

根据模板创建项目

一、模板配置修改


1.node版本修改


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

  1. resources:
  2. framework:
  3. component: fc3
  4. actions:
  5. pre-deploy:
  6. - run: export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH && npm install
  7. path: ./code
  8. - run: export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH && npm run build
  9. path: ./code

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

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

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

公共层修改

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

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

2.内网数据库连接配置

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

则配置

  1. internetAccess: true
  2. vpcConfig:
  3. securityGroupId: sg-安全组id
  4. vpcId: vpc-vpcId
  5. vSwitchIds:
  6. - vsw-虚拟交换机id

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

  1. vars:
  2. region: 'cn-beijing'

3.时区修改

  1. environmentVariables:
  2. TZ: Asia/Shanghai

二、代码修改


1.监听端口修改


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

  1. customRuntimeConfig:
  2. command:
  3. - ./bootstrap
  4. port: 9000

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

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

2.启用.env配置文件


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

./.env*

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/969063
推荐阅读
相关标签
  

闽ICP备14008679号