CentOS 7 部署RuoYi 项目

换源

备份现有的 YUM 源配置文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

默认的 CentOS 官方镜像源替换为阿里云的镜像源,以提高下载速度和稳定性。

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

上传文件压缩包

查看文件

安装MySQL

安装MYSQL5.7.30

1.官网下载MySQL5.7.30的RPM安装包

2.卸载CentOS7系统自带的mariadb

#先检查有没有安装mariadb

rpm -qa|grep mariadb

#我有个mariadb-libs-5.5.56-2.el7.x86_64,把它给卸载了

#mariadb-libs-5.5.56-2.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

#再次查看,mariadb已删除

rpm -qa|grep mariadb

3.安装libaio、perl、net-tools库,要不就会报错 balabala...

yum -y install libaio perl net-tools

4.rz上传安装包到/usr/local/mytools

5.建个目录并将安装文件解压到此目录

mkdir /usr/local/mysql-5.7.30

cd /usr/local/mytools

tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-5.7.30

6.进入目录准备安装

cd /usr/local/mysql-5.7.30

#开始安装,-ivh 其中i表示安装,v表示显示安装过程,

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

7.启动mysqld服务

启动MySQL服务

systemctl start mysqld

注1:安装完成后的服务名叫mysqld

systemctl start mysqld

查看MySQL服务状态

systemctl status mysqld

8.登录mysql修改密码

#查询生成的临时密码

grep "password" /var/log/mysqld.log

OBqtWHKz8p-!

#登录mysql

mysql -u root -p

这里登录使用初始化密码,避免复制到空格

#因为是本地测试环境,所以想把密码改的简单点

#查看mysql初始的密码策略:

SHOW VARIABLES LIKE 'validate_password%';

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过

set global validate_password_policy=0;

#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)

set global validate_password_length=4;

#更新密码

set password = password("1234");

#输入后使修改生效还需要下面的语句

FLUSH PRIVILEGES;

#可以退出,试试用新密码重新登录

exit

9.修改mysql的字符集为utf8

依次往下操作就行

#登陆mysql之后,可以通过如下命令查看mysql的字符集

show variables like 'chara%';

退出MySQL

quit;

#以下命令为linux命令

#修改配置文件设置 MySQL 字符集为 UTF-8

vi /etc/my.cnf

mysqld

#在mysqld最下面加入二行代码

character-set-server=utf8

collation-server=utf8_general_ci

#client为自己添加

client

default-character-set=utf8

10.Centos7下无法远程连接mysql数据库

show databases; 显示所有数据库

use mysql;打开mysql数据库

show tables; 显示当前数据库中的所有数据表

select user,host from user; 查询user表,得到所有用户信息

1.数据库没有授权,允许以root身份远程登录mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;

#WITH GRANT OPTION;给其它用户授权的权限

#输入后使修改生效还需要下面的语句

FLUSH PRIVILEGES;

Navicat 连接MySQL登录用户需要用到

2.服务器防火墙没有开放3306端口

方式一:开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-port

firewall-cmd --query-port=3306/tcp

方式二:关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

测试本机登录连接MySQL

  1. mysql数据库数据导出/导入 RuoYi 数据

Navicat导出表结构及少量数据

新建一个ry_vue 库 导入 quart.sql 和 ry20220822.sql 运行

右键新建一个ry_vue库

右键运行sql文件, 打开sql 文件开始运行 RuoYi-Vue-v3.8.5\sql

  1. mysql-linux目录结构

/etc/my.cnf 配置文件

/usr/sbin/mysqld 服务端

/usr/bin/mysql 客户端

/var/lib/mysql 数据库存放位置

/var/log/mysqld.log 日志文件

/usr/lib/systemd/system/mysqld.service 服务文件

安装redis

安装gcc依赖

由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装

gcc -v 测试是否安装

yum install -y gcc 安装gcc

下载并解压安装包

#下载

wget http://download.redis.io/releases/redis-5.0.3.tar.gz

我已经上传过,没有下载直接下载

`#解压`

tar -zxvf redis-5.0.3.tar.gz

编译

解压完成后会生成一个 redis-5.0.3 文件

进入目录

cd redis-5.0.3

进行编译

make

安装并指定安装目录

#方法一:安装指定目录(安装完成后会在目录下面生成一个bin目录)`

#make install PREFIX=/usr/local/redis

#方法二:默认安装到/usr/local/bin

redis-5.0.0>make install

启动服务

前台启动

#指定目录安装执行

cd /usr/local/redis/bin/

启动服务

./redis-server

#默认目录安装执行

redis-server /usr/local/bin/redis.conf

后台启动

从 root/目录下 redis-5.0.3 的源码目录中 redis.conf 到 复制redis 的安装目录

cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

vi redis.conf

​

"/"加关键词就可以搜索 将其改为 yes

后台启动

启动 Redis 服务器

./redis-server redis.conf

​检查网络连接

netstat -ntlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 5963/./redis-server

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1013/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1187/master

tcp6 0 0 :::3306 :::* LISTEN 1499/mysqld

tcp6 0 0 :::22 :::* LISTEN 1013/sshd

tcp6 0 0 ::1:25 :::* LISTEN 1187/master

​

关闭某个进程

kill -9 5963

查找 Redis 进程

ps -ef | grep redis

使用密码

修改redis.conf文件,将requirepass前的#去掉,并修改密码

日志文件

  • 如果不修改logfile配置,默认不产生配置文件

  • 如果不另外修改dir配置,默认在当前目录

复制代码
logfile "redis.log"

充许远程连接

默认只充许本机连接,将bind 127.0.0.1改为0.0.0.0

开放对应的端口

客户端连接

redis-cli连接

复制代码
redis-cli [-h <host>] [-p <port>] [-a <password>]
host:redis服务器host 
port:redis服务端口 默认端口6379
password:redis服务密码(无密码不需要-a参数了)
复制代码
#默认连接
redis-cli
#如果使用了密码连接,可以连接之后再验证密码
auth <password>

连接失败,可能原因服器没有启动

设置开机启动

添加开机启动服务

root@localhost bin# vi /etc/systemd/system/redis.service

复制粘贴以下内容:

复制代码
[Unit]
Description=redis-server
After=network.target
​
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true
​
[Install]
WantedBy=multi-user.target

注意:ExecStart配置成自己的路径

设置开机启动

root@localhost bin# systemctl daemon-reload

root@localhost bin# systemctl start redis.service

root@localhost bin# systemctl enable redis.service

创建 redis 命令软链接

root@localhost \~# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis

测试 redis

服务操作命令

systemctl start redis.service #启动redis服务

systemctl stop redis.service #停止redis服务

systemctl restart redis.service #重新启动服务

systemctl status redis.service #查看服务当前状态

systemctl enable redis.service #设置开机自启动

systemctl disable redis.service #停止开机自启动

安装jdk

linux中JDK的安装与配置

https://www.oracle.com/java/technologies/downloads/

jdk-8u391-linux-x64.rpm RPM安装

jdk-8u391-linux-x64.tar.gz 解压

1.解压JDK压缩包

cd /usr/local/mytools

tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local 解压到指定文件夹

注1:在解压的时候 -C 是解压到指定目录中,一定要加-C参数,而且区分大小写的,-_- 555555555555555,"很痛的很痛的很痛的领悟"

注2:&&可将多条命令合成一行

cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local

2.配置JDK环境变量

vim /etc/profile

#打开配置文件并在文件的最后添加如下内容(注意:=两边没有空格)

#java environment

export JAVA_HOME=请修改JDK解压路径

export CLASSPATH=.:{JAVA_HOME}/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=PATH:{JAVA_HOME}/bin

3.设置环境变量生效

source /etc/profile

4.查看环境变量是否配置成功

java -version

安装tomcat

. tomcat安装与配置

https://tomcat.apache.org/

Core:

zip (pgp, sha512) windows解压版

tar.gz (pgp, sha512) linux解压版

32-bit Windows zip (pgp, sha512)

64-bit Windows zip (pgp, sha512) windows解压版

32-bit/64-bit Windows Service Installer (pgp, sha512) windows安装版

1.解压tomcat到指定路径

tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local

2.解压完成后进入tomcat的bin目录

cd /usr/local/apache-tomcat-8.5.20/bin

3.启动或关闭tomcat

cd /usr/local/apache-tomcat-8.5.20/bin

./startup.sh

./shutdown.sh

4.tomcat自启动

cd /usr/lib/systemd/system
vi tomcat.service

#自己手动创建tomcat.service 文件输入以下类容

Unit

Description=Apache Tomcat Web Application Container

After=syslog.target network.target remote-fs.target nss-lookup.target

Service

Type=forking

Environment='JAVA_HOME=/usr/local/jdk1.8.0_151'

Environment='CATALINA_PID=/usr/local/apache-tomcat-8.5.20/tomcat.pid'

Environment='CATALINA_HOME=/usr/local/apache-tomcat-8.5.20/'

Environment='CATALINA_BASE=/usr/local/apache-tomcat-8.5.20/'

#Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid

ExecStart=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh start

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

Install

WantedBy=multi-user.target

将资料中的tomcat.service中的内容复制进来,并修改tomcat和jdk的路径(重要!重要!重要!)

tomcat.*

systemctl daemon-reload

systemctl status tomcat

netstat -ntlp

systemctl enable tomcat

// 不执行

systemctl stop tomcat

curl http://localhost:8080 本地访问

systemclt start/status/stop/restart tomcat

#配置防火墙 远程访问

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --reload

后台部署

修改 ruoyi-admin/WEB-INF/classes/application-druid.yml

# 主库数据源

master:

url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

username: root

password: password

把ruoyi-admin文件上传到/usr/local/apache-tomcat-8.5.20/webapps/目录下

后台测试 IP:8080: /ruoyi-admin/

注意:如果没有没有出现请查看tomcat日志

/usr/local/apache-tomcat-8.5.20/logs/catalina.2025-03-20.log

catalina.out

我是密码出错了

安装nginx

  1. 编写/etc/yum.repos.d/nginx.repo文件

nginx-stable

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

nginx-mainline

name=nginx mainline repo

baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/

gpgcheck=1

enabled=0

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

清空原来的缓存

yum clean all

重新把仓库信息缓存在本地

yum makecache

显示所有的yum源

yum repolist

搜索nginx

yum search nginx

安装nginx

yum install -y nginx

查询已安装软件包

rpm -qa | grep nginx

出现nginx 相关文件

rpm -ql nginx

nginx 配置文件

/etc/nginx/nginx.conf

nginx 服务

/usr/lib/systemd/system/nginx.service

nginx 项目发布位置

/usr/share/nginx/html

查看nginx 是否装好

看状态

systemctl status nginx

自启

systemctl enable nginx

启动服务

systemctl start nginx

查看网络状态

netstat -ntlp

Haskell 复制代码
[root@localhost ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      17097/redis-server
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      18790/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1013/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1187/master
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      18172/java
tcp6       0      0 :::8009                 :::*                    LISTEN      18172/java
tcp6       0      0 :::3306                 :::*                    LISTEN      1499/mysqld
tcp6       0      0 :::8080                 :::*                    LISTEN      18172/java
tcp6       0      0 :::22                   :::*                    LISTEN      1013/sshd
tcp6       0      0 ::1:25   

测试本地服务

curl http://localhost (端口号可以不加,http端口号默认80)

可以看到nginx 欢迎界面

Haskell 复制代码
[root@localhost ~]# curl http://localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

测试远程访问

firewall-cmd --zone=public --add-port=80/tcp --permanent

即开放TCP协议的80端口

firewall-cmd --reload

确保新的配置立即生效

firewall-cmd --zone=public --query-port=80/tcp

80端口是否已经被开放

浏览器进行访问nginx 如: x.x.x.x

注:

/usr/sbin/nginx :启动nginx

/usr/lib/systemd/system/nginx.service: nginx 服务

/etc/nginx :配置目录 /etc/nginx/nginx.conf 配置文件

/usr/share/nginx/html: 部署目录

/var/log/nginx: 日志

前台部署

cd /usr/share/nginx/html

到nginx默认部署目录

rm -rf *

删除html 目录下的文件

上传前台dist 文件到html 目录下

配置nginx congf文件 /etc/nginx/nginx.conf

mv nginx.conf nginx.conf.bak 备份 nginx.conf 文件,

自己编写下面类容命名为 nginx.conf,上传到 nginx.conf 目录下

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

charset utf-8;

//静态资源

location / {

root /usr/share/nginx/html;

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/;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}

systemctl restart nginx

到 /etc/selinux

的config 中的 SELINUX=disabled 改为关闭

setenforce 0

getenforce 临时关闭

相关推荐
雯宝6 小时前
mnt_init 函数
linux
律宏阔11 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔11 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴11 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千12 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3712 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3712 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3712 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh12 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW12 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux