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代码

代码

相关推荐
鬼手点金3 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
软件技术NINI4 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的4 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday4 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室4 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan5 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床5 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a6 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台6 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li7 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉