若依框架前后端打包到linux部署,踩坑
创始人
2024-04-14 11:02:22
0

前后端分离版下载地址

https://gitee.com/y_project/RuoYi-Vue

打开前端项目

在这里插入图片描述

打开readme

在这里插入图片描述

初始化依赖

npm install --registry=https://registry.npmmirror.com

启动项目

npm run dev

路由模式修改为hash

否则打包后请求路径会和后端冲突

src/router/index.js
export default new Router({// mode: 'history', // 去掉url中的#mode: 'hash', // 去掉url中的#scrollBehavior: () => ({ y: 0 }),routes: constantRoutes
})

路由加载语法做修改

否则打包后访问会出现找不到模块的错误

src/store/modules/permission.js
export const loadView = (view) => {if (process.env.NODE_ENV === 'development') {return (resolve) => require([`@/views/${view}`], resolve)} else {// 使用 import 实现生产环境的路由懒加载// return () => import(`@/views/${view}`)return (resolve) => require([`@/views/${view}`], resolve)}
}

打包

.env.staging提前去掉代理路径

VUE_APP_BASE_API = ''
npm run build:stage

启动项目

  • 需要依赖redis

如果你打包到后台运行希望不直接通过/路径访问,想增加自定义目录

也就是想通过localhost/admin访问,而不是直接通过localhost访问

  • 把打包后的dist文件夹中的所有文件复制到后端的resources/static文件夹中
  • resources/static新建admin文件夹
  • index.html文件剪切到admin文件夹中
  • springmvc接口新增/admin转发到/admin/index.html
  • maven:clear
  • maven:run

springsecurity权限配置

前端css,css等资源需要开启权限,否则访问不到,包括/admin路径

com.ruoyi.framework.config.SecurityConfig.configure()
.antMatchers("/admin","/static/**").permitAll()

如果配置/admin路径,退出登陆后的bug

主动退出后台,或者过期退出后台,会调到/路径,而不是/admin,需要在前端配置

src/layout/components/Navbar.vue
    async logout() {this.$confirm('确定注销并退出系统吗?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {this.$store.dispatch('LogOut').then(() => {location.href = '/admin';})}).catch(() => {});}
src/utils/request.js
      if (!isRelogin.show) {isRelogin.show = true;MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {isRelogin.show = false;store.dispatch('LogOut').then(() => {location.href = '/admin';})}).catch(() => {isRelogin.show = false;});}

代码生成器

在这里插入图片描述

  • 提前把表新建好
  • 提前新建上级菜单
  • 后台页面点击导入
  • 确定
  • 编辑
  • 主要讲解生成信息
  • 提交
  • 生成代码下载
  • sql语句新增菜单
  • 复制粘贴代码到前后端
  • controller需要放在ruoyi-admin的web文件夹中
  • 其它的可放在自己新建的模块

生成信息讲解
在这里插入图片描述

@RequestMapping("/diskCard/cardPass")
@RequestMapping("/模块名/业务名")
package com.ruoyi.diskCard.domain;
package 生成包路径.domain;

部署linux

1.头像上传路径需要修改

需要提前在linux系统中新建/home/ruoyi文件夹,有个log文件也是在此文件夹下,否则启动报错

src/main/resources/application.yml
  # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)profile: D:/ruoyi/uploadPath

2.部署全流程

  1. 购买服务器
  2. 安装centos
  3. 在线安装宝塔
  4. 登陆宝塔
  5. 软件商店安装:MySQL 5.7.38
  6. 软件商店安装:Redis 7.0.4
  7. 软件商店安装:Java项目一键部署
  8. mysql新建数据库,导入初始化sql
  9. Java项目一键部署安装tomcat8
  10. Java项目一键部署–Web项目管理–添加项目–内置环境–项目域名(ip地址)–确定
  11. 打开项目目录
  12. 上传war包解压
  13. 修改数据库地址配置头像上传路径
  14. 启动项目的tomcat

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...