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 临时关闭

相关推荐
kuaile090628 分钟前
新手应该选择哪个DevOps工具
运维·devops
家有睿少43 分钟前
Jenkins 配置+ssh自动部署
运维·jenkins
geek_super44 分钟前
Linux命令学习--备份压缩--ar命令
linux·学习·ar
qq_339282231 小时前
es的备份和恢复
运维·jenkins
灵壹Eli1 小时前
Docker部署sprintboot后端项目
运维·docker·容器
小安运维日记10 小时前
CKS认证 | Day3 K8s容器运行环境安全加固
运维·网络·安全·云原生·kubernetes·云计算
我是唐青枫10 小时前
Linux ar 命令使用详解
linux·运维·服务器
mljy.10 小时前
Linux《进程概念(上)》
linux
IEVEl10 小时前
Centos7 开放端口号
linux·网络·centos
我要升天!11 小时前
Linux中《环境变量》详细介绍
linux·运维·chrome