一步步教你如何部署Nestjs项目

发布于:2024-10-24 编辑:匿名 来源:网络

原文地址:install yum-utils device-mapper-persistent-data lvm2 -y 设置镜像源代码语言:javascript copy yum-config-manager --add-repo install docker -ce docker -ce-cli containerd.io -y 启动docker 代码语言:javascript copy systemctl start docker# 设置启动 systemctl enable docker 设置docker镜像 源代码语言:javascript copy vi /etc/docker/daemon.json 代码语言: javascript copy { "registry-mirrors": [ " " ],} 后续拉取镜像直接从网站拉取速度更快并重启 docker 代码语言:javascript copy systemctl restart docker install mysql 镜像测试 代码语言:javascript copy docker pull daocloud.io /library /mysql:8.0.20 运行mysql镜像代码语言: javascript copy docker run -d -p :--name mysql -e MYSQL_ROOT_PASSWORD=56 (设置登录密码) be0dbf01a0f3 (镜像ID) 进入mysql容器。 mysql镜像构建成功。

下面我们使用docker-compose来管理docker容器。不用一一安装MySQL、redis、nginx,而是安装docker-compose代码语言: javascript copy # 使用国内源安装curl -L -s`-`uname -m` > /usr /local/bin/docker- compose 设置 docker-compose 执行权限 代码语言:javascript copy chmod +x /usr/local/bin/docker-compose 创建软链 代码语言:javascript copy sudo ln -s /usr/local/bin /docker-compose /usr/宾/做cker-compose 测试是否安装成功: 代码语言:javascript copy $ docker-compose --versiondocker-compose version 1.22.0, build f0fe 编写 docker-compose 代码语言:javascript copy version: "3.0" services: # Docker 容器启动的Redis默认没有redis.conf配置文件,所以在用docker启动redis之前,需要到官网下载redis.conf配置文件 redis: # 服务名称 container_name: redis # 容器名称 image: daocloud.io/library/redis: 6.0.3-alpine3.11 # 使用官方镜像 # 配置redis.conf启动命令: redis-server /usr/local/etc/redis/redis.conf --requirepass 56 --appendonly yes # 设置redis登录密码 56, --appendonly yes: 该命令用于启用redis数据持久化 # 无需配置文件启动 # 命令: redis-server --requirepass 56 --appendonly yes # 设置redis登录密码56 ports: - :# 本地端口: 容器端口 restart: on-failure # 自动重启volumes: - ./deploy/redis/db:/data # 挂载持久数据到主机 - ./deploy/redis/conf/redis.conf:/usr /local /etc/redis/redis.conf # 挂载redis配置文件到主机 - ./deploy/redis/logs:/logs # 用于存储日志的环境:- TZ=Asia/Shanghai # 解决容器时区问题?????????networks:?????????? - my-server??? mysql:??????? container_name: mysql???? image: daocloud.io/library/mysql:8.0.20 #?????????????? ports: ports: - :# Native port:container端口重启: on-failure 环境: - MYSQL_ROOT_PASSWORD=56 # root 用户密码volumes: - ./deploy/mysql/db:/var/lib/mysql # 用于存放数据库的表文件 - ./deploy/mysql/conf/ my.cnf: /etc/my.cnf#保留自定义的配置文件#我们自动创建了数据库和表#MySQL官方镜像在我们启动MySQL容器时提供了容器启动时的container-intrypoint-initdb.d。

- ./deploy/mysql/init:/docker-entrypoint-initdb.d/下脚本的作用 # 存放初始化脚本 -networks: - my-server server: # Egg service container_name: server Build: # 构建镜像基于 Dockerfile 上下文:. Dockerfile: Dockerfile Ports:-: Restart: On-Failure#设置自动重启。这一步一定要设置,主要是mysql没有启动就启动了NETWORKS: -My-Server。

depends_on: # 节点服务依赖mysql和redis - redis - mysql#声明网桥my-server# 重要:将所有服务挂载在同一个网桥上,可以通过容器名互相通信 # 例如egg连接mysql和redis,可以通过容器名networks: my-server:nestjs/ Dockerfile 代码语言:javascript Copy FROM daocloud.io/library/node:14.7.0# 设置时区 ENV TZ=亚洲/上海 \ DEBIAN_FRONTEND=noninteractiveRUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata && rm -rf /var/lib/apt/lists/*# 创建工作目录 RUN mkdir -p /app# 指定工作目录 WORKDIR / app# 将当前代码复制到 /app 工作目录 COPY 。 ./# npm源,选择国内镜像源,提高下载速度 # RUN npm config setregistry npm 安装依赖 RUN npm install # 打包 RUN npm run build # 启动服务 # "start:prod": "cross -env NODE_ENV=production node ./dist/src/main.js",CMD npm run start:prodEXPOSE 修改代码打开云服务器端口,打开端口,启动项目 docker-compose -h 查看命令 docker-compose up 启动服务和控制 平台可见日志 docker-compose up -d 后台启动服务 docker-compose build --no-cache 重新构建镜像,不使用缓存(最后启动 docker-compose up -d) 停止服务docker-compose down 下载镜像进程 docker-compose pull 重启服务 docker-compose restart 后台启动服务docker-compose up -d test 2.微信云托管部署。

云托管管道部署更加便捷。 redis服务就在我们上面部署的自建服务器上。

使用docker构建的redis服务作为演示mysql服务。这是我们上面部署的自建服务器。

使用docker搭建的mysql服务作为演示。修改代码,然后将代码上传到github。

通过云托管管道构建新服务。点击发布后,云主机将执行Dockerfile构建管道。

您可以在日志中查看构建进度。微信云托管部署成功后,您可以在实例列表中,点击进入容器查看代码。

这里的内容不能修改。容器启动后,会覆盖调试界面来测试redis。

3、腾讯云无服务器部署需要注意的是,云功能的代码包不能超过M模板部署——部署Nest。登录Serverless应用控制台,点击新建应用,选择Web应用>Nest.js框架,如下图: 点击“下一步”,完成基本配置,选择上传方式,选择示例代码直接部署,点击 Finish 即可开始应用部署。

部署完成后,您可以在应用详情页查看示例应用的基本信息,通过API网关生成的访问路径URL进行访问,查看您部署的Nest.js项目。定制部署。

Nest 初始化您的 Nest.js 项目代码。语言:javascript 复制 npm i -g @nestjs/clist new Nest-app 根目录下,执行以下命令,直接在本地启动服务。

代码语言: javascript copy cd Nest-app && npm run start 打开浏览器访问Nest.js示例项目。部署到云端接下来,执行以下步骤,对初始化的项目进行简单修改,以便可以通过Web Function快速部署。

这里的工程修改通常分为以下两步: 添加scf_bootstrap启动文件。修改监听地址和端口为0.0.0.0:。

修改启动文件main.ts,监听端口改为: 在项目根目录下新建scf_bootstrap启动文件,文件中添加以下内容(用于启动服务): 还可以完成模块配置在控制台中。代码语言: javascript copy# scf_bootstrap#!/bin/bashSERVERLESS=1 /var/lang/node12/bin/node ./dist/main.js 新建完成后需要执行以下命令修改文件可执行权限。

默认要求是 或 允许正常启动。示例如下: 代码语言:javascript 复制 chmod scf_bootstrap 本地配置完成后,执行启动文件,确保您的服务能够在本地正常启动。

接下来登录Serverless应用控制台,选择Web应用 > Nest.js框架,可以选择上传方式。本地上传或代码库pull 注意:启动文件以项目中的文件为准。

如果您的项目已包含 scf_bootstrap 文件,则内容不会被覆盖。单个函数的代码大小上限(以 MB 为单位)。

在实际操作中,虽然云函数提供了关于绕过配额问题的mb:如果超出的不多,那么使用 npm install --product 就可以解决问题。

一步步教你如何部署Nestjs项目

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 新规实施:申请手机号码将全面实行人脸比对

    新规实施:申请手机号码将全面实行人脸比对

    雷锋网消息,2020年12月2日,根据工信部此前发布的相关规定,自12月起1、2020年,电信企业必须在物理渠道全面落实肖像比对技术措施。 只有画像一致才能完成入网手续。 而且,自即日起,电信公司自有营业厅必须向用户提供查询其名下手机号码的服务,对用户有异议的手机号码应立

    06-18

  • 北京石景山区设立现代创新产业基金,总规模为30亿元

    北京石景山区设立现代创新产业基金,总规模为30亿元

    北京市石景山区设立总规模30亿元的现代创新产业基金。 据投资界7月6日消息,石景山区宣布设立总规模30亿元的现代创新产业基金。 通过科学引导,推动区域内以科技服务、数字创意、新一代信息技术为特色的现代金融主导产业发展,支持“1”高精尖产业发展,生态环保、城市更新等

    06-18

  • 打造企业级RPA平台,UiPath获2.25亿美元E轮融资

    打造企业级RPA平台,UiPath获2.25亿美元E轮融资

    投资圈(ID:pedaily)7月15日消息,据36氪报道,企业级RPA软件公司UiPath宣布,已完成2.25亿美元E轮融资。 由 Alkeon Capital Management 领投,投资者包括 Accel、Coatue、Dragoneer、IVP、Madrona Venture Group、红杉资本、腾讯投资、Tiger Global 和 Wellington。 本轮融

    06-18

  • 博姿科技专访创始人与李忠双:重新定义工业机器人,为先进制造做出贡献 -看到新势力NO. 108

    博姿科技专访创始人与李忠双:重新定义工业机器人,为先进制造做出贡献 -看到新势力NO. 108

    在人类发展史上,生产力更替是人类社会不断进步的支柱。 随着人工智能等先进技术的广泛应用,第四次工业革命的号角已经吹响。 同时,当前消费者对个性化产品的需求强烈,导致生产需要从大批量同质化转向小批量、多品种柔性生产。 新一轮工业革命,制造业生产线升级势在必行,

    06-18

  • 为让北美年轻人住上长租公寓,Tripalink获得3000万美元B+轮融资

    为让北美年轻人住上长租公寓,Tripalink获得3000万美元B+轮融资

    据投资界(ID:pedaily)11月5日消息,据36氪报道,Tripalink北美青年长租公寓品牌完成3000万美元B+轮融资,由Conductive Ventures和Altos Ventures共同领投,Assurant Ventures、Calin SJG Fund、K2VC、Tekton跟投风险投资。 Preferred Bank也参与了本轮投资。 截至目前,T

    06-18

  • 华控基金董事长张扬入选2020年投资行业百强投资人

    华控基金董事长张扬入选2020年投资行业百强投资人

    8月12日,《投资界》公布了中国权威人物评选的“投资行业最佳投资人”名单。 华琼基金的创始人、董事长张扬榜上有名。 人物名单。 “投资行业杰出投资人”投资者榜评选已连续五年举办。 自正式启动以来,今年的评选吸引了数千名早期投资人、VC、PE和战略投资者的积极参与。 投

    06-17

  • Kyligence完成7000万美元D轮融资,红点、顺为等参与,

    Kyligence完成7000万美元D轮融资,红点、顺为等参与,

    3月21日,Kyligence(上海久智信息科技有限公司)宣布完成7000万美元D轮融资。 本轮融资由浦发国际领投,中金资本旗下基金、歌斐资管、国方资本、ASG、鸿兆基金、浦信资本及原股东红点中国、耀明资本、顺为资本等跟投。

    06-18

  • 什么值得买?七夕最佳购物指南:四招而已

    什么值得买?七夕最佳购物指南:四招而已

    如何庆祝七夕肯定是大家最近最困扰的问题。 怎样才能有意义、划算、深刻呢?作为中国第一智能手机品牌,vivo推出了七夕最强策略。 只需四招,瞬间让你成为最强七夕达人!点击领取最佳礼物——终极品遇终极促销 3GB存储版vivo X5Max+、全球首款2K屏顶级旗舰vivo Xplay3S、只剩

    06-17

  • 听歌、识别歌曲的工具Shazam推出了Chrome插件,但还不够完善

    听歌、识别歌曲的工具Shazam推出了Chrome插件,但还不够完善

    自从2017年Shazam被苹果收购后,它就成为了苹果旗下的免费服务。 它以 Apple Music 为后盾,内置数万首歌曲。 在iPhone和iPad的控制中心,Mac用户如果想用它来识别歌曲,需要先安装软件,但无论如何,Shazam是寄生在苹果身上的,至少他们不用再担心盈利模式了。 近日,Shazam

    06-21

  • 转转:2020年转转集团服务GMV增长111%,集团收入同比增长229%

    转转:2020年转转集团服务GMV增长111%,集团收入同比增长229%

    今天,转转集团发布《年度二手交易服务白皮书》。 数据显示,转转集团服务GMV同比增长111%,集团营收同比增长229%。 生长%; 3C数码B2C业务支付订单量同比增长0.2%;全年机检服务订单量同比增长0.04%。

    06-18

  • 首次发布 -国药齿科完成A轮融资,华兴资本领投

    首次发布 -国药齿科完成A轮融资,华兴资本领投

    投资界(ID:pedaily)据2月9日消息,中国齿科中游整合+创新的新生力量国药齿科宣布完成A轮融资。 本轮融资由华兴资本旗下华兴新经济基金领投,德通资本跟投。 华兴资本担任本轮融资独家投资方。 完成新一轮融资后,国药齿科将加大中游渠道整合投入,打造中国DSO模式下的业务

    06-17

  • 多位高管参与揭秘字节AI领地之战

    多位高管参与揭秘字节AI领地之战

    Tech星球*了解到,字节旗下多个部门加大了AI产品研发投入,成果已陆续落地,其中包括抖音电商、海量引擎等业务部门,其中最为活跃的Flow部门不仅会推出豆袋、按钮等AI产品,还将推出AI角色互动APP“Talking Room”和一款可能是图片的AI产品“PicPic”。 另据消息,人士透露,

    06-18