欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx前后台分离打包部署项目(nodejs、springboot)

程序员文章站 2022-03-26 21:42:06
...

@[TOC]目录

#1. 为什么要用nginx进行前后台分离?

       a. 无需做前后台集成打包,当需要对前端代码进行迭代部署时,仅需要对特定目录下的前端代码进行替换即可,便于维护部署;

       b. 解决跨域问题,如我在192.168.1.20上部署的前端代码,要向192.168.1.21上部署的后台发送请求,可以正常访问(无论内网跨域还是外网跨域)


#2. nginx发布vue前端

  1. 【建议】新建一个目录,拉取远程项目(前端和服务端都拉取到这里)

          nginx前后台分离打包部署项目(nodejs、springboot)

      2. 进入项目目录,shift+右键,打开powershell窗口,执行cnpm install命令(加载node_modules)

            nginx前后台分离打包部署项目(nodejs、springboot)

      3. 执行npm run build,将以下static文件夹、index文件(建议换个名字,以防和nginx的html目录下的index.html冲突)打包成dist.zip即可

          nginx前后台分离打包部署项目(nodejs、springboot)

      4. 使用 rz命令或者 sftp将dist.zip上传至服务器目录,删除旧版本项目数据(如果有的话)。

  cd /usr/share/nginx/html 【ENTER】
  rm -rf wechat.html  【ENTER】
  rm -rf static/  【ENTER】

      5. 拷贝dist.zip至nginx发布目录,解压,前端部署完成。

mv ${dist.zip的路径}/dist.zip /usr/share/html/dist.zip或者 cp ${dist.zip的路径}/dist.zip /usr/share/html/dist.zip

unzip dist.zip

#3. springboot后端打包部署

      1. 进入项目目录,shift+右键,打开powershell窗口;执行mvn clean和mvn package -DskipTests -Pprod命令

  // 清理
  mvn clean
  // 打包,跳过junit单元测试,选择profile环境为prod环境。即使用application-prod.yml作为配置文件。
  mvn package -DskipTests -Pprod

      2. 生成snapshot.jar文件,上传到linux服务器,运行后台,java -jar xxx.jar

         nginx前后台分离打包部署项目(nodejs、springboot)


#4.  Linux上的nginx.conf配置:

nginx前后台分离打包部署项目(nodejs、springboot)nginx前后台分离打包部署项目(nodejs、springboot)nginx前后台分离打包部署项目(nodejs、springboot)

  nginx转发后台服务配置:

  location ^~ /equipment {
    proxy_pass http://127.0.0.1:8099/;
  }