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

代码

相关推荐
星辰中的维纳斯32 分钟前
vue新手入门教程(项目创建+组件导入+VueRouter)
前端·javascript·vue.js
ksuper&35 分钟前
ts和js的关系
javascript
嫣嫣细语1 小时前
css实现鼠标禁用(鼠标滑过显示红色禁止符号)
前端·css
Days20501 小时前
web前端主要包括哪些技术
前端
NaRciCiSSuS1 小时前
第一章-JavaScript简介
开发语言·javascript·ecmascript
XF鸭1 小时前
HTML-CSS 入门介绍
服务器·前端·javascript
forwardMyLife2 小时前
element-plus 的form表单组件之el-radio(单选按钮组件)
前端·javascript·vue.js
fs哆哆2 小时前
ExcelVBA运用Excel的【条件格式】(二)
linux·运维·服务器·前端·excel
安冬的码畜日常2 小时前
【CSS in Depth 2精译】2.5 无单位的数值与行高
前端·css
ilisi_2 小时前
导航栏样式,盒子模型
前端·javascript·css