安装mysql

检查是否安装过mysql

1
rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载

1
2
rpm -e mysql # 普通删除模式
rpm -e --nodeps mysql  # 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

安装mysql

1
2
3
4
5
6
7
sudo yum install wget
# 使用 wget 下载 MySQL 仓库的 RPM 包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 安装下载的 RPM 包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

权限设置

1
chown -R mysql:mysql /var/lib/mysql/

创建并切换到 mysql 用户

1
2
3
4
// 如果已经创建跳过前两步
sudo useradd mysql
sudo passwd mysql
su - mysql //以mysql身份进入bash模式

初始化 MySQL

1
2
mysqld --initialize
exit //退出bash模式

启动 MySQL

1
systemctl start mysqld

查看MySQL启动状态

1
systemctl status mysqld

验证 MySQL 安装

1
2
3
4
mysqladmin --version
# 输出类似于:
# mysqladmin Ver 8.42 Distrib 5.6.51, for Linux on x86_64
# 就是安装正常

设置root用户的密码

1
mysqladmin -u root password "123456"

登录mysql服务器

1
2
[root@host]# mysql -u root -p
Enter password:*******

设置mysql的访问权限

1
2
3
4
5
6
7
8
# 设置只能从一个ip访问mysql
CREATE USER 'root'@'115.195.63.179' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'115.195.63.179' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 设置可以从任何ip访问mysql
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

安装docker

卸载Docker

1
2
3
4
5
6
7
8
9
10
11
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce

安装docker

1
2
3
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken

更新本地镜像

1
2
3
4
5
6
7
8
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 修改默认镜像源
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 更新 YUM 软件包缓存
yum makecache fast

安装docker

1
yum install -y docker-ce

关闭防火墙

1
2
3
4
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

通过命令启动docker

1
2
3
systemctl start docker  # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务

输入命令,可以查看docker版本

1
docker -v # 出现版本才是成功

docker安装redis

拉取官方的最新版本的镜像

1
docker pull redis:latest

使用以下命令来查看是否已安装了 redis

1
docker images

安装完成后,我们可以使用以下命令来运行 redis 容器

1
docker run -itd --name redis-test -p 6379:6379 redis

后端项目部署

docker部署

编写Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
# 使用官方的 Java 运行时作为父镜像
FROM openjdk:17
# 设置工作目录
WORKDIR /app
# 将构建好的 JAR 文件复制到容器中
COPY ruoyi-admin.jar /app/ruoyi-admin.jar
# 暴露应用的端口
EXPOSE 8080
# 定义环境变量
ENV JAVA_OPTS=""
# 启动应用
ENTRYPOINT ["java", "-jar", "ruoyi-admin.jar"]

跳转到jar包目录下

1
cd /root/ruoyi-project/backend

docker部署

1
2
docker build -t myapp .
docker run -d -p 7072:8080 -v /root/ruoyi-project/backend/ruoyi-admin.jar:/app/ruoyi-admin.jar --name myapp-container myapp # 运行在7072端口

docker compose部署

安装docker compose

1
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件

1
sudo chmod +x /usr/local/bin/docker-compose

添加docker-compose.yml文件

1
2
3
4
5
6
7
8
9
10
version: '3'
services:
myapp:
image: myapp
container_name: myapp-container
ports:
- "9111:9111"
volumes:
- /data/ruoyi-backend/ruoyi-admin.jar:/app/ruoyi-admin.jar
restart: always

运行docker compose

1
docker-compose up -d

安装nginx

前端打包项目

1
npm run build

安装Nginx

1
2
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx

配置前端转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 在/etc/nginx/conf.d中添加vue.conf文件
server {
listen 80;
server_name vue.fengsy.top;

location / {
root /usr/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_pass http://localhost:7072/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

问题汇总

yum镜像源的问题

如果出现下面的情况

yum镜像源问题

就是yum镜像源的问题,执行下面的指令

1
2
3
4
5
6
7
# 备份原有的 yum 配置文件
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里云的 CentOS 镜像源配置文件
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清理缓存并更新 yum
sudo yum clean all
sudo yum makecache

服务器防火墙没开,导致无法远程连接数据库

如果本地出现2002 - Can't connect to server on '193.8.173.139' (10060)

需要打开服务器的防火墙

1
2
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload