Linux服务器部署若依(ruoyi-vue),从购买服务器到部署完成保姆级教程

零、购买服务器

Huawei Cloud EulerOS 还是 centos7,纠结了一段时间,了解到EulerOS是对centos8的延续版本,相当于官方不对centos8继续维护了,
在这里插入图片描述
最后还是选 CentOS 7.9 64bit,网上可查找的工具更多且官方还在持续维护。
这里简单购买了一个月先试用一下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击远程登录
在这里插入图片描述
第一步先重置密码
在这里插入图片描述
在这里插入图片描述
一定在适当的地方对服务器的公网ip,登录密码等做个记录,防止遗忘。
输入密码登入云服务器
在这里插入图片描述
在这里插入图片描述

一、安装java环境

参考文章
getconf WORD_BIT
getconf LONG_BIT
64位系统中应该分别得到32和64

随意使用一条命令便可以查询到java的安装信息
yum list installed | grep java
rpm -qa | grep java
在这里插入图片描述
yum -y remove java-1.8.0-openjdk* #卸载已安装的java版本
yum -y remove tzdata-java.noarch #卸载tzdata

安装JDK
此方法是使用yum自动安装,使用命令查看JDK软件包列表
yum search java | grep jdk
在这里插入图片描述
选择版本并安装
yum install -y java-1.8.0-openjdk*
检查jdk是否安装成功
java -version
在这里插入图片描述
配置环境变量
使用yum安装后的jdk默认安装路径为/usr/lib/jvm
在这里插入图片描述
在/etc/profile文件内添加如下内容

操作:
vim /etc/profile

# JAVA environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JACA_HOME JRE_HOME PATH CLASS_PATH

操作:
:wq

执行新的更改:
source /etc/profile
在这里插入图片描述总结
至此java环境就已经安装完成了
yum -y update
升级包和软件和系统内核
yum -y upgrade
只升级包,不升级软件和内核

二、安装mysql

涉及到服务器的开启
在远程服务器上配置ftp文件传输
参考文章

sudo yum install vsftpd
systemctl enable vsftpd.service
systemctl start vsftpd.service

若服务器开了防火墙,注意开放21端口

# 启动防火墙
systemctl start firewalld.service
# 开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload
# 查看防火墙所有开放的端口
firewall-cmd --list-ports

mac电脑需下载Royal TSX
Mac上使用Royal TSX远程连接服务器
配置File Transfer
分别配置
Connertions里边的 File transfor
Credentials 中的密码
windows电脑使用XShell
Xshell入门使用指南(连接服务器+上传下载文件)
配置完成后,继续下面的步骤

Centos 7 安装配置mysql 5.7 超详细笔记

1 检查系统是否有自带Mysql老版本
rpm -qa | grep mari

2 若有进行卸载
rpm -e --nodeps mariadb-libs

3 Mysql 5.7官方下载
https://dev.mysql.com/downloads/mysql/5.7.html

4 解压下载安装包
利用上面介绍的文件传输工具,将文件传送到linux服务器上,cd到指定目录后执行:
tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar -C /usr/sft/mysql-5.7/

5 进入解压目录按以下顺序进行安装

rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm

注意在minimal模式安装的一些Linux版本中可能会在执行rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm 步骤中出现Libaio依赖缺失的问题(在我的Centos 7.9 minimal上倒是没有遇到这个问题),缺啥补啥,可以执行如下命令安装好依赖后继续即可。

yum install -y libaio

6 查询对应mysql数据目录 cat /etc/my.cnf | grep datadir,并删除本目录下所有文件(如有的话)。若之前安装过Mysql须要删除本目录下数据,否则报错。
在这里插入图片描述
7 启动Mysql服务
systemctl start mysqld

8 系统识别到第一次启动会在日志中打印临时密码
vi /var/log/mysqld.log
在这里插入图片描述
lilk-Wrg:2eh

9 利用临时密码登录后想要进一步操作须要先修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Fr123456++’;

10 配置root账户远程登录权限
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘Fr123456++‘ WITH GRANT OPTION;

11 直接exit退出或者手动执行以下代码,注意quit和exit的区别
flush privileges;

12 配置开机自启
systemctl enable mysqld
systemctl daemon-reload

三、安装redis

参考文章

1.安装依赖
redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装:
gcc -v
如果没有安装则通过以下命令安装:
yum install -y gcc
2.下载redis安装包并解压
下载,我是在root下执行的下载,所以我的下载目录为:/root/redis-6.2.6,这里按照自己的实际情况调整
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# 解压
tar -zxvf redis-6.2.6.tar.gz
3.进入解压目录并编译
# 进入解压目录
cd redis-6.2.6
# 编译
make
4.指定安装目录并进行安装
make install PREFIX=/usr/local/redis
5.启动redis服务
5.1 直接启动(不建议使用)
# 进入redis安装目录
cd /usr/local/redis/bin/
# 启动服务
./redis-server
5.2 通过守护进程方式启动
# 第一步:从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /root/redis-6.2.6/redis.conf /usr/local/redis/bin/
# 第二步:修改redis.conf配置文件
cd /usr/local/redis/bin/
vi redis.conf
# 修改内容如下:
#daemonize 的值从 no 修改成 yes
# 第三步:启动服务
./redis-server redis.conf
# 第四步:查看进程来确定redis是否启动成功,非必须
ps -ef |grep redis
在这里插入图片描述
在这里插入图片描述
备注:如果想要设置指定IP连接redis,只需要修改redis.conf文件中bind配置项即可。如果不限IP,将127.0.0.1修改成0.0.0.0即可。
在这里插入图片描述
6.设置开机自动启动
切换到/lib/systemd/system/目录,创建redis.service文件。命令如下:
cd /lib/systemd/system/
vim redis.service
文件内容如下:

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

设置开启自动启动
# 开机自动启动
systemctl enable redis.service
# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disabled redis.service

四、Centos7下部署nginx(三种方式安装部署,图文结合超详细,适合初学者)

执行以下命令开始安装
yum install -y nginx
# 输入如下命令,没有报错,则启动成功
nginx
浏览器访问

配置华为云安全组,允许访问80端口
参考文章
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器输入IP:80
在这里插入图片描述

五、部署若依系统

新建vue数据库(注意字符集编码格式,否则可能导致sql导入失败)
create database vue default character set=utf8

use vue

source /usr/local/ruoyi-sql/quartz.sql
source /usr/local/ruoyi-sql/ry_20230223.sql

show tables;
select * from sys_post\G;

修改Redis连接信息 和 文件路径
application.yml
在这里插入图片描述
在这里插入图片描述
修改数据库连接
application-druid.yml
在这里插入图片描述
日志存储路径调整
logback.xml
在这里插入图片描述
编译打包
# 前端构建生产环境
npm run build:prod
注:执行完成后在ruoyi-ui文件夹下面会生成一个dist文件夹
在这里插入图片描述
创建目录
cd /app
mkdir ruoyi ruoyi-ui -p
前端文件上传
前端编译的RuoYi-Vue\ruoyi-ui\dist下面的文件上传至/app/ruoyi-ui目录下面

进入后端项目目录
cd RuoYi-Vue\bin
clean.bat
package.bat
注:执行完成后在RuoYi-Vue\ruoyi\target\文件夹下面会生成一个ruoyi.jar文件、
在这里插入图片描述
nginx配置
替换ruoyi-ui的实际存储路径即可
cd /usr/local/nginx/conf
vim nginx.conf
在这里插入图片描述
location / {
#root /home/ruoyi/projects/ruoyi-ui;
root /app/ruoyi-ui;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-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:8080/;
}
重新启动nginx
nginx -s reload

后端项目启动
[root@node2 app]# cd /app/ruoyi
[root@node2 ruoyi]# java -jar ruoyi-admin.jar

上述方式一旦关闭服务器,则无法访问后端接口

Linux下持续运行.jar程序
参考文章
方案一
java -jar ruoyi-admin.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
方案二
nohup java -jar ruoyi-admin.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
方式三
nohup java -jar ruoyi-admin.jar >out.txt &
解释下 >out.txt
command >out.txt是将command的输出重定向到out.txt文件,即输出内容不打印到屏幕上,而是输出到out.txt文件中。

这里我选了方式二

停止后台进程
查看进程
ps -ef | grep java
在这里插入图片描述
杀死进程
kill -9 ****,上图是 kill -9 10647

最终效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP反序列化--_wakeup()绕过

一、漏洞原理&#xff1a; 二、靶场复现: 进入靶场&#xff0c;分析源代码&#xff1a; <?php error_reporting(0); class secret{var $fileindex.php;public function __construct($file){$this->file$file;}function __destruct(){include_once($this->file);ech…

算法沉淀——贪心算法三(leetcode真题剖析)

算法沉淀——贪心算法三 01.买卖股票的最佳时机 II02.K 次取反后最大化的数组和03.按身高排序04.优势洗牌 01.买卖股票的最佳时机 II 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/ 给你一个整数数组 prices &#xff0c;其中 pric…

算法第三十天-矩阵中移动的最大次数

矩阵中移动的最大次数 题目要求 解题思路 网格图 DFS 从第一列的任一单元格 ( i , 0 ) (i,0) (i,0) 开始递归。枚举往右上/右/右下三个方向走&#xff0c;如果走一步后&#xff0c;没有出界&#xff0c;且格子值大于 g r i d [ i ] [ j ] grid[i][j] grid[i][j]&#xff0c;则…

未来十年 人工智能的发展前景是什么?

所谓AIGC就是用人工智能来进行内容生产,它的特点就是有非常强大的内容生产力,可以大幅提升内容生产的质量和效率,未来也会极大地丰富大家的数字生活。 是不是感觉现在说数字生活还是很虚,但仔细想想一切都是有迹可循——从Stable Diffusion ChatGPT,再到Midjour-ney V5和…

面向未来的电子元器件批发商城:智能化服务与用户体验革新

面向未来的电子元器件批发商城必须不断地进行智能化服务与用户体验的革新&#xff0c;以适应快速发展的科技趋势和不断变化的市场需求。以下是一些关键的方向和策略&#xff1a; 智能化供应链管理&#xff1a; 引入先进的人工智能和大数据分析技术&#xff0c;实现供应链的智能…

Springboot-软件授权License

无意中看到了一个简单方便的授权方式&#xff0c;只需几步就可集成到boot项目中。 先上地址&#xff1a;smart-license: 保护个人与企业的软件作品权益&#xff0c;降低盗版造成的损失。PS&#xff1a;因个人精力有限&#xff0c;不再提供该项目的咨询答疑服务。 Smart-licen…

Java代码审计安全篇-反序列化漏洞

前言&#xff1a; 堕落了三个月&#xff0c;现在因为被找实习而困扰&#xff0c;着实自己能力不足&#xff0c;从今天开始 每天沉淀一点点 &#xff0c;准备秋招 加油 注意&#xff1a; 本文章参考qax的网络安全java代码审计和部分师傅审计思路以及webgoat靶场&#xff0c;记录…

计算机基础入门2:GPU

GPU&#xff08;Graphics Processing Unit&#xff0c;图形处理器&#xff09;又被称作显示核心、视觉处理器、显示芯片&#xff0c;是一种专为并行处理而设计的微型处理器&#xff0c;非常擅长处理大量简单任务&#xff0c;包括图形和视频渲染。 GPU根据接入系统方式分为集成…

深度学习_卷积

卷积 卷积&#xff08;Convolution&#xff09;是数学和计算机科学中的一个重要概念&#xff0c;特别在信号处理和图像处理中应用广泛。在信号处理领域&#xff0c;卷积是两个函数之间的一种数学操作&#xff0c;它表示两个函数的重叠部分的积分量。 在图像处理中&#xff0c…

【Excel自动化办公】使用openpyxl对Excel进行读写操作

目录 一、环境安装 1.1 创建python项目 1.2 安装openpyxl依赖 二、Excel数据读取操作 三、Excel数据写入操作 3.1 创建空白工作簿 3.2 写数据 四、设置单元格样式 4.1 字体样式 4.2 设置单元格背景填充色 4.3 设置单元格边框样式 4.4 单元格对齐方式 4.5 数据筛选…

打造精益标杆生产线:从理念到实践的全面升级!

在制造业竞争日益激烈的今天&#xff0c;精益生产已成为企业提升效率、降低成本、增强竞争力的重要手段。那么&#xff0c;如何打造一条精益标杆生产线呢&#xff1f;本文&#xff0c;天行健精益制造咨询公司将从理念导入、流程优化、员工培训、持续改进等方面&#xff0c;为大…

MybatisPlus逆向工程

目录 &#x1f9c2;1.前提说明 &#x1f37f;2.引入依赖 &#x1f32d;3.使用导入模板 1.前提说明 注意 适用版本&#xff1a;mybatis-plus-generator 3.5.1 以下版本&#xff0c;3.5.1 及以上的请参考 3.5.1以上参考官网&#xff1a;3.5.1以上逆向工程 2.引入依赖 …

【Java Web基础】一些网页设计基础(一)

文章目录 1. 父盒子下子盒子的左右浮动布局2. 浮动布局中&#xff0c;高度较小的盒子撑起整个盒子的高度3. 在2中&#xff0c;logo和title都是顶着放置的&#xff0c;让logo和title垂直居中4. 字体大小自适应5. 响应式布局 1. 父盒子下子盒子的左右浮动布局 父盒子CSS&#xff…

汽车制造产生的污废水如何处理排放

汽车制造业是一个重要的工业领域&#xff0c;然而&#xff0c;伴随着汽车制造过程中的各种化学反应和材料加工&#xff0c;大量污废水也随之产生。为了保护环境和社会的可持续发展&#xff0c;汽车制造产生的污废水需要得到妥善处理和排放。 首先&#xff0c;针对汽车制造中涉及…

二阶段提交的理解

两阶段提交2PC是分布式事务中最强大的事务类型之一&#xff0c;两段提交就是分两个阶段提交&#xff1a; 第一阶段询问各个事务数据源是否准备好。第二阶段才真正将数据提交给事务数据源。 为了保证该事务可以满足ACID&#xff0c;就要引入一个协调者&#xff08;Cooradinator…

如何使用phpStudy在Windows系统部署静态站点并实现无公网IP远程访问

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

Zookeeper(二)一致性协议2PC,3PC

目录 1.1 2PC协议1.1.1 协议说明1.1.2 优缺点同步阻塞单点问题数据不一致容错性不好 1.2 3PC 协议1.2.1 协议说明1.2.2 优缺点 官网&#xff1a;Apache ZooKeeper 1.1 2PC协议 2PC&#xff0c;是Two-Phase Commit的缩写&#xff0c;即二阶段提交&#xff0c;是计算机网络尤其…

Java实现定时发送邮件(基于Springboot工程)

1、功能概述&#xff1f; 1、在企业中有很多需要定时提醒的任务&#xff1a;如每天下午四点钟给第二天的值班人员发送值班消息&#xff1f;如提前一天给参与第二天会议的人员发送参会消息等。 2、这种定时提醒有很多方式如短信提醒、站内提醒等邮件提醒是其中较为方便且廉价的…

upload-labs·文件上传(靶场攻略)

目录 1.文件上传漏洞 1.1.文件上传漏洞介绍 1.2.文件上传漏洞危害 1.3.文件上传漏洞满足条件 1.4.文件检测流程 1.5.文件上传思路 1.6.web界面存在的风险点 1.7.文件上传实战思路 2.靶场搭建 3.文件上传 3.1.upload-labs第一关 3.2.检测文件类型 3.2.1.基本概念 3…

webconfig-boot分布式项目Web一站式配置

1、前言 最近利用空余时间写了一个项目webconfig-boot 。该项目主要配置了web项目常用的一些配置&#xff0c;如统一参数校验、统一异常捕获、统一日期的处理、常用过滤器、常用注解等。引入依赖接口完成常规的web配置。 这里也是总结了笔者在项目开发中遇到的一些常用的配置…