【超详细】RuoYi 前后端分离版部署流程

简介: 部署前端(前端访问域名,跳转域名修改)、后端配置(配置文件),Nginx 配置文件详解,上传后部署需要的脚本。

RuoYi 前后端分离版部署流程

📔 千寻简笔记介绍

千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star
@[toc]
特邀嘉宾:仲琪

一 前端准备

1.修改router

export default new Router({
   
  base: '/xxxx-admin', // 去掉url中的#
  mode: 'history',
  scrollBehavior: () => ({
    y: 0 }),
  routes: constantRoutes
})

2. 修改vue.config.js

publicPath: process.env.NODE_ENV === "production" ? "/xxxx-admin/" : "/xxxx-admin/",

3.修改后端访问地址:.env.production

# 管理系统/生产环境
VUE_APP_BASE_API = 'http://ip:端口/别名-api/'

4.修改配置:

request.js

# 搜索:store.dispatch('LogOut')
        store.dispatch('LogOut').then(() => {
   
        // 修改xxxx
          location.href = '/xxxx-admin/index';
        })

Navbar.vue

# 搜索:this.$store.dispatch('LogOut')
        this.$store.dispatch('LogOut').then(() => {
   
        // 修改xxxx
          location.href = '/xxxx-admin/index';
        })

5.构建项目

npm run build:prod

二 Nginx配置

worker_processes  1;
events {
   
    worker_connections  1024;
}
http {
   
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
   
        listen       80;
        server_name  localhost;
  charset utf-8;
    location /xxx-admin {
   
          # 修改路径
            alias   /home/deploy/test/java-xxx/fe/admin/dist;
            # 修前端访问路径
            try_files {
   mathJaxContainer[0]}uri/ /xxx-admin/index.html;
            index  index.html index.htm;
        }
     location /xxx-h5 {
   
          # 修改路径
            alias   /home/deploy/test/java-xxx/fe/h5/dist;
            # 修前端访问路径
            try_files {
   mathJaxContainer[1]}uri/ /xxx-h5/index.html;
            index  index.html index.htm;
        }
  location /xxx-api/ {
   
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 后端访问地址,加前缀
            proxy_pass http://localhost:端口号/xxx-api/;
       }
      # 文件上传路径
      location /test/xxx/profile/{
   
         # 服务器文件上传路径
              alias /home/deploy/test/java-xxx/be/uploadPath;
      }
    }
}

三 后端准备

1.修改application-prod.yml

# 改动1
ruoyi:
    # 服务器文件上传路径
    profile: /home/deploy/test/java-xxx/be/uploadPath

# 改动2
# 开发环境配置
server:
    # 服务器的HTTP端口,默认为8080
    port: 端口号
    servlet:
        # 应用的访问路径
        context-path: /xxx-api/
# 改动3 修改数据源
# 改动4 修改redis

2.修改日志存放路径:logback.xml

    <!-- 日志存放路径 -->
    <property name="log.path" value="./logs" />

3.Maven 打包

# 清理环境,清除target文件夹
maven clean
# 打包
maven packag
# 打包到的地址
项目路径下的 xx-admin/target/xxx-admin.jar

四 上传部署服务器

  • 前端上传路径:/home/deploy/test/java-xxx/fe/admin/dist
  • 后端上传Jar包路径:/home/deploy/test/java-xxx/be/

    1. 后端启动

    # 去到指定目录
    cd /home/deploy/test/java-xxx/be/
    # 创建文件夹
    mkdir uploadPath
    # 新建脚本:ry.sh
    touch ry.sh
    

    2.复制下面内容到ry.sh

    #!/bin/sh
    # ./ry.sh start 启动 stop 停止 restart 重启 status 状态
    # xxx-admin.jar 上传的jar包名称
    AppName=xxx-admin.jar
    # JVM参数
    # -Dspring.profiles.active=prod 指定启动环境
    # -Druoyi.profile=/home/deploy/test/java-xxx/be/uploadPath 指定文件上传路径
    JVM_OPTS="-Dname=$AppName  -Dspring.profiles.active=prod -Druoyi.profile=/home/deploy/test/java-xxx/be/uploadPath  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
    APP_HOME=`pwd`
    LOG_PATH={
         mathJaxContainer[2]}AppName.log
    if [ "$1" = "" ];
    then
      echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
      exit 1
    fi
    if [ "$AppName" = "" ];
    then
      echo -e "\033[0;31m 未输入应用名 \033[0m"
      exit 1
    fi
    function start()
    {
         
      PID=`ps -ef |grep java|grep {
         mathJaxContainer[3]}2}'`
      if [ x"$PID" != x"" ]; then
       echo "$AppName is running..."
      else
    nohup java {
           mathJaxContainer[4]}AppName > /dev/null 2>&1 &
    echo "Start $AppName success..."
      fi
    }
    function stop()
    {
           
      echo "Stop $AppName"
      PID=""
      query(){
           
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
      }
      query
      if [ x"$PID" != x"" ]; then
    kill -TERM $PID
    echo "$AppName (pid:$PID) exiting..."
    while [ x"$PID" != x"" ]
    do
        sleep 1
        query
    done
    echo "$AppName exited."
      else
    echo "$AppName already stopped."
      fi
    }
    function restart()
    {
         
      stop
      sleep 2
      start
    }
    function status()
    {
         
      PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
      if [ $PID != 0 ];then
          echo "$AppName is running..."
      else
          echo "$AppName is not running..."
      fi
    }
    case $1 in
      start)
      start;;
      stop)
      stop;;
      restart)
      restart;;
      status)
      status;;
      *)
    esac
    

    3.部署

    # 给脚本添加执行的权限
    chmode +x ry.sh
    # 启动jar
    ./ry.sh start
    # 重启
    ./ry.sh restart
    # 停止
    ./ry.sh stop
    
目录
相关文章
|
资源调度 关系型数据库 MySQL
若依框架部署从零开始2023版(前后端分离)
电脑最近重装了一次系统,目前什么都没有安装,记录一下从零开始部署前后端分离版本的若依框架系统先去官网把若依源码拉下来。
1943 0
|
弹性计算 NoSQL Java
若依框架---前后端分离项目部署实践
若依框架---前后端分离项目部署实践
1553 0
|
前端开发 数据安全/隐私保护
若依框架---权限控制角色设计
若依框架---权限控制角色设计
4248 0
|
前端开发 Java 应用服务中间件
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
3015 0
|
监控 NoSQL Java
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
若依(RuoYi)是一款基于Spring Boot和Vue.js的开源Java快速开发脚手架,支持OAuth2、JWT鉴权,集成多种安全框架和持久化框架。它提供了系统管理、监控管理、任务调度、代码生成等常用功能模块,适合中小型公司快速搭建Web应用。本文主要介绍若依框架的特点、版本发展、优缺点及项目部署步骤,帮助开发者快速上手并部署若依项目。
17758 3
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
30839 73
|
前端开发 NoSQL Java
【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
本文介绍了如何配置和启动基于Java的若依(RuoYi)项目,涵盖后端和前端的详细步骤。首先,准备Redis、MySQL以及IDE(如Idea和VS)。接着,通过GitHub获取代码并导入到IDE中,执行必要的SQL文件和配置数据库密码。然后,启动Redis并进行相关配置。最后,按照前端配置步骤克隆前端代码库,打开终端执行命令完成前端配置。整个过程详细记录了每一步的操作,帮助开发者顺利部署若依项目。 如果你觉得有帮助,请点赞、关注和收藏,这将是我持续分享的动力!
7560 4
|
SQL JSON 前端开发
若依RuoYi脚手架二次开发教程(二次开发必学技能)
本次我们将通过一个菜品管理模块开发的案例,来演示拿到若依框架后,如何在若依管理系统上进行二次开发,升级改造为自己的管理系统。适合以若依作为项目脚手架的公司开发人员、毕业设计的学生及开源项目学习者。
9204 1
若依RuoYi脚手架二次开发教程(二次开发必学技能)
|
NoSQL 前端开发 Redis
Windows 下安装和配置 Redis (图文教程)
Windows 下安装和配置 Redis (图文教程)
|
前端开发 Java 应用服务中间件
若依分离板nginx配置
若依分离板nginx配置
1644 1