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

具有品牌的做pc端网站/windows优化大师官网

以追加的方式将程序输出到不同的日志文件&#xff0c;当日志文件超过10M大小时&#xff0c;自动清空文件。 package toolsimport ("fmt""log""os" )const logDir string "/usr/local/dbmng/log/"func PathExists(path string) bool {…...

如何查询网站的注册信息/建设网站的十个步骤

东东虽然走跑跳越来越好&#xff0c;可是也越来越懒&#xff0c;出去时动不动就要大人抱。一日小奶奶带东东出去玩&#xff0c;才出小区不久&#xff0c;东东要小奶奶抱。小奶奶问&#xff0c;你的腿到哪里去了&#xff1f;东东张着手&#xff0c;仰着小脸对小奶奶说&#xff0…...

中国建筑公司网站/seo薪资seo

我正在尝试将Spring上下文中定义的bean注入CDI托管组件,但我没有成功.不注入bean,而是每次执行注入时都会创建一个新实例.我的环境是使用JBoss Weld的Tomcat 7.Spring ApplicationContext是直截了当的&#xff1a;......CDI托管bean看起来像这样&#xff1a;javax.inject.Named…...

重庆建筑特种作业查询网/专业网站优化外包

Exchange2013不同于2010的最大之处就在于使用Web管理控制台!在 Exchange 2013 中&#xff0c;原本在 Exchange 2007 和 Exchange 2010 中使用的管理控制台EMC已经不存在了&#xff0c;新的管理控制台是基于Web模式的&#xff0c;它可以在无需安装任何管理工具的电脑中访问和管理…...

dwcs3如何做网站/宝塔没有域名直接做网站怎么弄

我在任何地方都找不到。我从返回标准JSON日期的API中获取了一些JSON。您可以通过在JavaScript控制台中运行以下代码来查看格式&#xff1a;> new Date().toJSON();"2010-10-27T11:58:22.973Z"好吧&#xff0c;实际上&#xff0c;我正在使用的API不会返回毫秒部分&…...

公司网站建设设计公司排名/数据分析平台

截取第三个/后的字符串方法&#xff1a;//先使用spilt按/分割符 分割字符串 成数组aa"/a1Wsm6EWNcQ/${deviceName}/user/topicname2";var bb new Array();bb aa.split("/");var ccbb.slice(3);console.log(cc); //cc 为["user", "topicnam…...