当前位置: 首页 > news >正文

Ruoyi安装部署(linux环境、前后端不分离版本)

目录

简介

1 新建目录

2 安装jdk

2.1 jdk下载

2.2 解压并移动文件夹到/data/service目录

2.3 配置环境变量

3 安装maven

3.1 进入官网下载最新的maven

3.2 解压并移动文件夹到/data//service目录

3.3 配置环境变量

3.4 配置本地仓库地址与阿里云镜像

4 安装git

4.1 进入官网下载git

4.2 解压编译安装git

4.3 配置环境变量

4.4 生成/添加ssh公钥

4.4.1 生成公钥

4.4.2 添加公钥到gitee

4.4.3 验证

4.4.4 拉取ruoyi代码

5 安装docker

5.1 卸载旧版本

5.2 安装依赖

5.3 添加源

5.4 安装最新的containerd和docker

5.5 启动docker并配置开机自启

5.6 检测docker版本

5.7 配置阿里云镜像加速器

6 安装mysql

6.1 拉取MySQL5.7镜像

6.2 查看镜像

6.3 创建配置文件

6.4 启动镜像

6.5 进入mysql容器

6.6 进入mysql容器,设置root账户密码为123456并且允许任何ip访问mysql服务器。

7 运行项目准备

7.1 创建数据库以及数据库表

7.2 修改项目配置

7.3 将项目打成jar包

7.4 启动项目

7.5 访问项目


简介

介绍:RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

系统需求

  • JDK >= 1.8
  • MySQL >= 5.7
  • Maven >= 3.0

1 新建目录

#tmp存放临时安装包
mkdir -p /data/tmp
#service存放软件环境
mkdir -p /data/service
#gitee存放代码版本控制库
mkdir -p /data/gitee

2 安装jdk

2.1 jdk下载

官方地址:Java Archive Downloads - Java SE 8u211 and laterhttps://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html#license-lightbox

账号:307936641@qq.com
密码:Test307936

来自“zxf307946”家人的账号,提供账号的原文链接:不要积分 jdk-8u261-linux-x64.tar.gz_jdk-8u261-linux-x64.tar.gz 下载_zxf307936的博客-CSDN博客

将下载好的文件传到服务器上

2.2 解压并移动文件夹到/data/service目录

tar -zxvf jdk-8u261-linux-x64.tar.gz
mv jdk1.8.0_261 /data/service
cd /data/service
ll

2.3 配置环境变量

vim /etc/profile
export JAVA_HOME=/data/service/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin

使环境变量生效

source /etc/profile

 检查是否配置成功

java -version

3 安装maven

3.1 进入官网下载最新的maven

Maven – Download Apache Maven

下载后上传服务器

3.2 解压并移动文件夹到/data//service目录

tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /data/service
cd /data/service
ll

3.3 配置环境变量

vim /etc/profile
export MAVEN_HOME=/data/service/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin

使环境变量生效

source /etc/profile

检查是否配置成功

mvn -v

 

3.4 配置本地仓库地址与阿里云镜像

镜像仓库地址:仓库服务

vim /data/service/apache-maven-3.6.3/conf/setting.xml#配置本地仓库
<localRepository>/data/service/apache-maven-3.6.3/repository</localRepository>#配置阿里云镜像
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

4 安装git

4.1 进入官网下载git

地址:Index of /pub/software/scm/git/

下载后上传服务器

4.2 解压编译安装git

yum -y groupinstall "Development Tools"
yum install wget unzip gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel libcurl-devel expat-devel -y
cd /data/tmp
tar zxvf git-2.18.0.tar.gz
cd git-2.18.0
./configure --prefix=/data/service/gitee
make && make install

4.3 配置环境变量

vim /etc/profile
export GIT_HOME=/data/service/gitee
export PATH=$PATH:$GIT_HOME/bin

使环境变量生效

source /etc/profile

检查是否配置成功

git --version

 

4.4 生成/添加ssh公钥

参考文献:生成/添加SSH公钥 | Gitee 产品文档

4.4.1 生成公钥

ssh-keygen -t rsa -C "自己的注释内容"
cat ~/.ssh/id_rsa.pub

4.4.2 添加公钥到gitee

参考文献:https://gitee.com/profile/sshkeys

4.4.3 验证

ssh -T git@gitee.com
# 直接敲入这段代码就行

4.4.4 拉取ruoyi代码

cd /data/gitee
git clone git@gitee.com:y_project/RuoYi.git

5 安装docker

5.1 卸载旧版本

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

5.2 安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5.3 添加源

sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.4 安装最新的containerd和docker

sudo yum install docker-ce docker-ce-cli containerd.io -y

如果安装途中报错,可以进行手动安装新版本的containerd.io

yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli -y

5.5 启动docker并配置开机自启

# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker

5.6 检测docker版本

docker -v

5.7 配置阿里云镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://plb9xzjh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

6 安装mysql

6.1 拉取MySQL5.7镜像

docker pull mysql:5.7

6.2 查看镜像

docker images

6.3 创建配置文件

mkdir -p /data/docker/mysql/conf
cd /data/docker/mysql/conf
vim my.cnf

my.cnf 文件内容:

[mysqld]
character-set-server=utf8[mysql]
default-character-set=utf8

6.4 启动镜像

docker run -p 3306:3306 --name mysql -v /data/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

使用docker ps查看正在运行的容器

6.5 进入mysql容器

docker exec -it mysql bash
mysql -uroot -p123456
show databases;
# 退出
exit

6.6 进入mysql容器,设置root账户密码为123456并且允许任何ip访问mysql服务器。

docker exec -it mysql bash
mysql -uroot -p123456
grant all privileges on *.* to root@"%" identified by "123456";
flush privileges;
exit
exit
# 重启mysql服务
sudo docker restart mysql

7 运行项目准备

7.1 创建数据库以及数据库表

#复制需要执行的sql文件到docker的映射目录中
#注意,因为ruoyi版本问题,每个人目录下的这个ry_20230706.sql文件可能名字不同
cp /data/gitee/RuoYi/sql/quartz.sql /data/docker/mysql/conf/
cp /data/gitee/RuoYi/sql/ry_20230706.sql /data/docker/mysql/conf/
#进入docker容器中,执行sql文件
docker exec -it mysql env LANG=C.UTF-8 bash
#连接mysql
mysql -uroot -p123456
#创建数据库ruoyi
create database if not exists ruoyi character set='utf8';
#进入数据库,执行sql文件
use ruoyi;
source /etc/mysql/conf.d/quartz.sql;
source /etc/mysql/conf.d/ry_20210210.sql;
#显示创建的表
show tables;

7.2 修改项目配置

cd /data/gitee/RuoYi/ruoyi-admin/src/main/resources/
#修改application.yml的项目启动端口号与文件上传路径
vim application.yml#修改application-druid.yml的数据源
vim application-druid.yml
# application.yml文件要修改的内容
profile: /data/tmp
port: 81  # 这个根据自己服务器的端口而定
#application-druid.yml文件要修改的内容(需要注意的是url那里也需要改,不能使用默认的)# 主库数据源
master:url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: 123456

7.3 将项目打成jar包

cd /data/gitee/RuoYi/
mvn install

7.4 启动项目

mkdir -p /data/app/ruoyi-admin
cp /data/gitee/RuoYi/ruoyi-admin/target/ruoyi-admin.jar /data/app/ruoyi-admin/ruoyi-admin.jar
cd /data/app/ruoyi-admin/
#后台启动项目
nohup java -jar ruoyi-admin.jar &
#查看项目运行日志
tail -f nohup.out

7.5 访问项目

http://IP:81

如果觉得有帮助,那就给个三连吧~

你们的支持就是我最大的动力~

相关文章:

Ruoyi安装部署(linux环境、前后端不分离版本)

目录 简介 1 新建目录 2 安装jdk 2.1 jdk下载 2.2 解压并移动文件夹到/data/service目录 2.3 配置环境变量 3 安装maven 3.1 进入官网下载最新的maven 3.2 解压并移动文件夹到/data//service目录 3.3 配置环境变量 3.4 配置本地仓库地址与阿里云镜像 4 安装git 4.…...

PHP聚合支付网站源码/对接十多个支付接口 第三方/第四方支付/系统源码

PHP聚合支付网站源码/对接十多个支付接口 第三方/第四方支付/系统源码 内附数十个支付接口代码文件。 下载地址&#xff1a;https://bbs.csdn.net/topics/616764485...

容器化微服务:用Kubernetes实现弹性部署

随着云计算的迅猛发展&#xff0c;容器化和微服务架构成为了构建现代应用的重要方式。而在这个过程中&#xff0c;Kubernetes&#xff08;常简称为K8s&#xff09;作为一个开源的容器编排平台&#xff0c;正在引领着容器化微服务的部署和管理革命。本文将深入探讨容器化微服务的…...

DevOps系列文章 之 Python基础

Python语法结构 语句块缩进 1.python代码块通过缩进对齐表达代码逻辑而不是使用大括号 2.缩进表达一个语句属于哪个代码块 3.缩进风格 &#xff1a; 建议使用四个空格 如果是Linux系统的话&#xff0c;可以这样做&#xff0c;实现自动缩进 &#xff1a; vim ~/.vimrc set ai…...

Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) A ~ D

比赛链接 A 正常枚举就行&#xff0c;从最后一位往前枚举&#xff0c;-1、-2、-3...这样 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long l…...

[管理与领导-53]:IT基层管理者 - 8项核心技能 - 8 - 持续改进

前言&#xff1a; 管理者存在的价值就是制定目标&#xff0c;即目标管理、通过团队&#xff08;他人&#xff09;拿到结果。 要想通过他人拿到结果&#xff1a; &#xff08;1&#xff09;目标&#xff1a;制定符合SMART原则的符合业务需求的目标&#xff0c;团队跳一跳就可以…...

芯片验证板卡设计原理图:446-基于VU440T的多核处理器多输入芯片验证板卡

基于VU440T的多核处理器多输入芯片验证板卡 一、板卡概述 基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证&#xff0c;包括四个FMC接口、DDR、GPIO等&#xff0c;北京太速科技芯片验证板卡用于完成甲方的芯片验证任务&#xff0c;多任务…...

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…...

飞腾X100 LPDDR颗粒线序配置辅助工具

B站讲解视频: 正文内容: 一、 飞腾X100显存使用LPDDR4时,需要工程师在X100的固件中去配置线序交换说明,就类似下面这个: 图1 我们需要输入每个slice中DQ的线序,也需要输入slice之间的交换关系,这个工作量也不小,同时容易出现错误,所以开发了一款辅助小工具,…...

二、数学建模之整数规划篇

1.定义 2.例题 3.使用软件及解题 一、定义 1.整数规划&#xff08;Integer Programming&#xff0c;简称IP&#xff09;&#xff1a;是一种数学优化问题&#xff0c;它是线性规划&#xff08;Linear Programming&#xff0c;简称LP&#xff09;的一个扩展形式。在线性规划中&…...

C语言日常刷题 4

文章目录 题目答案与解析123456 题目 1、设变量已正确定义&#xff0c;以下不能统计出一行中输入字符个数&#xff08;不包含回车符&#xff09;的程序段是&#xff08; &#xff09; A: n0;while(chgetchar()!‘\n’)n; B: n0;while(getchar()!‘\n’)n; C: for(n0;getchar()…...

MyBatis plus 多数据源实现

1. 项目背景 最近写文章发布到【笑小枫】小程序和我的个人网站上&#xff0c;因为个人网站用的是halo框架搭建&#xff0c;两边数据结构不一致&#xff0c;导致我每次维护文章都需要两边维护&#xff0c;这就很烦~ 于是&#xff0c;本文就诞生了。通过项目连接这两个数据库&a…...

k-近邻算法概述,k-means与k-NN的区别对比

目录 k-近邻算法概述 k-近邻算法细节 k值的选取 分类器的决策 k-means与k-NN的区别对比 k-近邻算法概述 k近邻&#xff08;k-nearest neighbor, k-NN&#xff09;算法由 Cover 和 Hart 于1968年提出&#xff0c;是一种简单的分类方法。通俗来说&#xff0c;就是给定一个…...

node 项目搭建

1. 初始化项目 cmd 执行 cnpm init -y 创建README.md 依赖安装 1. 数据库 和 框架 mysql express cnpm install mysql express --save 2. 后端跨域 cors cnpm i cors 3. 安装 body-parser 声明引用 用于接收前端 post 过来的数据 cnpm install --save body-parser 4…...

CSS 属性值计算过程

目录 例子1&#xff0c;确定声明值2&#xff0c;层叠冲突2.1&#xff0c;比较源重要性2.2&#xff0c;比较优先级2.3&#xff0c;比较源次序 3&#xff0c;使用继承4&#xff0c;使用默认值其他 例子 我们来举例说明<h1> 标签最终的样式&#xff1a; <div><h1…...

QT版权查询

文章目录 QT工具版权QT模块版权查询 根据条件自动筛选&#xff1a; Qt Features, Framework Essentials, Modules, Tools & Add-Ons QT工具版权 Licensing QT模块版权查询 在 All Modules 中点击进入每个模块&#xff0c;在详细内容中一般有Lisence相关内容。 Licens…...

【leetcode 力扣刷题】双指针///原地扩充线性表

双指针///原地扩充线性表 剑指 Offer 05. 替换空格定义一个新字符串扩充字符串&#xff0c;原地替换思考 剑指 Offer 05. 替换空格 题目链接&#xff1a;剑指 Offer 05. 替换空格 题目内容&#xff1a; 这是一道简单题&#xff0c;理解题意&#xff0c;就是将字符串s中的空格…...

第八章,帖子列表

8.1添加帖子列表 <script> import { mapState } from vuex . . . </script> computed: {...mapState([auth,user,articles]) }, <Message :sh...

netty与websockt实现聊天

配置websockt&#xff1a; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration;/*** websocket配置*/ Data Configuration ConfigurationProperties(prefix &qu…...

21.2 CSS 三大特性与页面布局

1. 开发者工具修改样式 使用开发者工具修改样式, 操作步骤如下: * 1. 打开开发者工具: 在浏览器中右键点击页面, 然后选择检查或者使用快捷键(一般是 F12 或者 CtrlShiftI)来打开开发者工具.* 2. 打开样式编辑器: 在开发者工具中, 找到选项卡或面板, 一般是Elements或者Elemen…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...