当前位置: 首页 > 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…...

MySQL 特殊语法时间格式以及Greadb连接

一、时间语法 DATE_FORMAT和to_char() select to_char(now(),%Y-%m-%d %H:%i:%s) from dual; select DATE_FORMAT(now(),%Y-%m-%d %H:%i:%s) from dual; 2.to_date() 和STR_TO_DATE(#{date},%Y-%m-%d ) select to_date(now(),yyyy-mm-dd hh24:mi:ss) from dual;...

Python(.pyc)反编译:pycdc工具安装与使用

本文将介绍如何将python的.pyc文件反编译成源码&#xff0c;以便我们对源码的学习与改进。pycdc工具安装 下载地址&#xff1a; 1、Github地址&#xff1a;https://github.com/zrax/pycdc &#xff0c;下载后需要使用CMake进行编译。 2、已下载好及编译好的地址&#xff1a;ht…...

山西电力市场日前价格预测【2023-08-28】

日前价格预测 预测明日&#xff08;2023-08-28&#xff09;山西电力市场全天平均日前电价为319.70元/MWh。其中&#xff0c;最高日前电价为371.80元/MWh&#xff0c;预计出现在19: 15。最低日前电价为278.59元/MWh&#xff0c;预计出现在13: 00。 价差方向预测 1&#xff1a; …...

python3/pip3 SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

环境&#xff1a; mac os 背景&#xff1a; 电脑之前安装的是python3.9 &#xff0c; 现在升级到python3.10。 从python官网下载macos版本的python3.10 pkg。 双击安装。 程序使用aiohttp访问ebay 。 出错&#xff1a; aiohttp.client_exceptions.ClientConnectorCertifi…...

Python中的迭代器与生成器

文章目录 1、迭代器2、生成器3、列表推导式和生成器表达式4、enumerate() 在Python中&#xff0c;迭代器&#xff08;Iterator&#xff09;和生成器&#xff08;Generator&#xff09;是两种用于处理可迭代对象的重要工具。而可迭代对象包括列表&#xff0c;元组&#xff0c;字…...

简单着色器编写(下)

函数部分介绍完了&#xff0c;最后来介绍一下main函数中的部分。 std::string vertexShader "#version 330 core\n" "\n" "layout(location0)in vec4 position;" "\n" "void main()\n" "{\n&…...

go并发编程基础

go并发编程 1waitgroup WaitGroup就是等待所有的goroutine全部执行完毕&#xff0c;add方式和Down方法要配套使用 package mainimport ("fmt""sync" )func main() {var wq sync.WaitGroupwq.Add(100) //监控多少个goroutine执行结束for i: 0;i<100;…...

PHP之 导入excel表格时,获取日期时间变成浮点数

读取到的时间 float(0.20833333333333) 原格式 15:00:00 代码 if (Request::isPost()) {$file_url input(upfile); // 本地上传文件地址// 读取文件内容$local_file_url __dir__./../../../public.$file_url;// $spreadsheet new Spreadsheet();// $sheet $spreadsheet-…...

学习 Java 报表技术导入 Maven 依赖出错:jacob 无法下载、jasperreports 依赖错误

发生缘由 最近在做一个可视化项目&#xff0c;用到了 Java 报表技术。在跟着「黑马」课程导入 pom.xml 文件的时候提示下载依赖错误。 com.jacob 包无法下载Failed to read artifact descriptor for com.lowagie:itext:jar:2.1.7.js6 运行环境 电脑系统版本&#xff1a;Win…...

力扣-哈希-最长连续序列

题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; **输入&#xff1a;**nums [100,4,200,1,3,2] **输出&a…...

重庆施工许可证查询系统/seo视频教程汇总

github https://github.com/marcosbarbero/spring-cloud-zuul-ratelimit spring-cloud-zuul-ratelimit 说明 spring-cloud-zuul-ratelimit是和zuul整合提供分布式限流策略的扩展 对请求的目标URL进行限流&#xff08;例如&#xff1a;某个URL每分钟只允许调用多少次&#xff09…...

做网站要买多少服务器空间/比较好的软文发布平台

使用模拟器运行应用或者是游戏的时候&#xff0c;发现模拟器无法运行不然就是卡顿&#xff0c;这时候需要确认是不是电脑问题引起的模拟器问题&#xff0c;客服一般会请求并索要你的电脑配置来进一步解决问题&#xff1b;而很多模拟器小白不知道如何查看电脑配置&#xff0c;查…...

vue 做自适应网站/新闻热点大事件

1、背景 对于传统的单点登录系统&#xff0c;使用cookie和session的方式存储用户登录信息&#xff0c;但是对于安全性要求较高的企业–金融企业&#xff0c;就需要对用户的信息进行加密存储&#xff0c;防止客户信息泄露。 2、JWT构成 JWT—-JSON Web Token 第一部分我们称它…...

女人与马做受网站/磁力多多

标砖库提供了 net/rpc 包用来实现基础的rpc调用。 net/rpc库使用encoding/gob进行编解码&#xff0c;支持tcp或http数据传输方式&#xff0c;由于其他语言不支持gob编解码方式&#xff0c;所以使用net/rpc库实现的RPC方法没办法进行跨语言调用。 主要有服务端和客户端。 首先…...

ngix安装wordpress的伪静态/seo短期课程

你好,欢迎来到第 29 课时,从这一课时开始我们进入“Flink 实时统计 PV、UV”项目的学习。本课时先介绍实时统计项目的背景、架构设计和技术选型。 背景 PV(Page View,网站的浏览量)即页面的浏览次数,一般用来衡量网站用户访问的网页数量。我们可以简单地认为,一个用户…...

贵州建设厅网站厅长/seo系统培训班

作者&#xff1a;chinaitlab.com 出处&#xff1a;chinaitlab.com 更新时间&#xff1a;2008-08-07 责任编辑&#xff1a;seward一、引言通过浏览器访问数据量大的表时需要进行分页。ASP对数据库记录分页显示可以通过ADO对象集Recordset对象来实现。[more]Recordset具有以下几个…...