NestJS实战12-部署上线

by 雪隐 from juejin.cn/user/143341...

本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可联系授权

概述

基本上开发的内容差不多了,现在就可以部署上线试一试了。

服务器和域名

这个网上有很多参考:【建站】 建站第一天 ------ 域名、云服务器、域名解析,大家根据自己的情况购买一个有公网Ip的Linux系统的云服务即可,还有买一个自己喜欢的域名。

Docker环境配置

我之前写过,主要就是根据官网配置即可docker环境

docker内容做成以及部署

最后把我的下面的内容做成yaml文件(docker-compose.yml):

yaml 复制代码
version: "3"
services:
  webserver:
    image: nginx
    volumes:
      - ./default.conf:/etc/nginx/conf.d/default.conf
      - "./website:/var/www/html/website"
      - ./nginx_logs:/var/log/nginx
    depends_on:
      - backend
    ports:
      - "80:80"

  backend:
    image: "node:20-bullseye-slim"
    user: "root"
    working_dir: /home/app
    container_name: gateway-service-dev
    ports:
      - "8000:8000"
    volumes:
      # 创建/uploads目录并挂载
      - ./uploads:/home/app/uploads
      # 创建/downloads目录并挂载
      - ./website/downloads:/home/app/public/downloads
      # 挂载日志
      - ./logs:/home/app/logs
      # 挂载配置文件
      - ./config:/home/app/config
      # 挂载各种第三方插件
      - ./node_modules:/home/app/node_modules
      # 挂载主要程序
      - ./dist:/home/app/dist
    # 更改用户组和目录权限
    command: sh -c "chown -R 777 /home/app/uploads && node /home/app/dist/main.js"
    environment:
      RUNNING_ENV: 'prod'

把前后端的项目复制到服务器上

编写nginx的config文件

bash 复制代码
upstream backend {
    server backend:8000;
}

server {
    listen 80 default_server;
    server_name _;

    location /api/ {
        proxy_pass http://backend;
    }

    # 配置访问后端的public目录
    location /backend/public/ {
        alias /var/www/backend/public/;
    }

    location / {
        root /var/www/html/website;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
}

然后运行docke-compose

ts 复制代码
docker-compose up -d --build

总结

完结撒花,基本上我的个人管理系统和核心的知识点都和大家介绍完毕了。如果这篇文章对你们有帮助,请记得点赞评论🙏!

docker代码

代码

相关推荐
共享家95274 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
Halo_tjn5 小时前
基于封装的专项 知识点
java·前端·python·算法
摘星编程6 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_6 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
2601_949868368 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229998 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
C澒8 小时前
前端监控系统的最佳实践
前端·安全·运维开发
xiaoxue..8 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程8 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js
hhy_smile8 小时前
Class in Python
java·前端·python