若依前后端分离项目部署
1.后端搭建
1.1准备服务器
[!NOTE]
数量,操作系统,系统配置(CPU,内存,磁盘,带宽),来源(物理机,云服务器-阿里云,腾讯云,华为云)
本项目需要两台服务器,直接在vm上创建两台linux系统作为服务器。一台主机名back_end一台主机名front
1.2初始化服务器
运行服务器初始化shell脚本
#! /bin/bash#1.修改主机名
read -p "请输入你想修改的主机名称:" user
if [[ -z $user ]];then
echo "主机名不能为空"
exit 1;
fihostnamectl set-hostname $user || { echo "修改主机名失败"; exit 1; }
#2.修改hosts文件
echo "$(hostname -I) $user" >> /etc/hosts || { echo "修改hosts文件失败"; exit 1; }#3.关闭firewalld
systemctl disable firewalld --now || { echo "关闭firewalld失败"; exit 1; }#4.关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config || { echo "修改selinux配置失败"; exit 1; }
setenforce 0#5.配置yum源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo || { echo "下载yum源失败"; exit 1; }
yum makecache || { echo "生成yum缓存失败"; exit 1; }
#6.安装vim软件
yum install vim -y || { echo "安装vim失败"; exit 1; }reboot
1.3安装后端环境所需软件、配置环境
1.3.1安装jdk
[!NOTE]
安装方式:解压缩包的形式
版本17
从网上下载jdk-17.0.12_linux-x64_bin.tar.gz压缩包,拖进虚拟机中(这边用的MobarX远程连接)。
注意安装完需要配置环境变量
-
解压缩
tar -xvf jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/local
解压缩的指定目录根据个人习惯选择
解压缩完就算安装完成了
-
配置环境变量
编辑profile文件
-
vim /etc/profile
-
在文件最后,加上两行
export JAVA_HOME=/usr/local/jdk-17.0.12
(这边地址要写自己安装的位置)export PATH=$PATH:\$JAVA_HOME/bin
注意PATH要写在最后,JAVA_HOME写在PATH前面 -
编辑完保存退出
-
进行重新加载
source /etc/profile
-
-
测试
运行
java -version
,有显示版本则算成功
1.3.2安装maven
[!NOTE]
安装方式:解压缩包的形式
版本3.9.11
从网上下载apache-maven-3.9.11-bin.tar.gz压缩包,拖进虚拟机中(这边用的MobarX远程连接)。
注意安装完需要配置环境变量
-
解压缩
tar -xf apache-maven-3.9.11-bin.tar.gz -C /usr/local
-
配置环境变量
-
vim /etc/profile
-
在刚刚JAVA配完的基础上,在JAVA_HOME那一行下面加入
export MAVEN_HOME=/usr/local/apache-maven-3.9.11
(文件路径进入解压缩的进件中用pwd查看)在原来PATH的基础上再后面加上:$MAVEN_HOME/bin
完整PATH:export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
-
保存退出并重新加载
source /etc/profile
-
测试
mvn -v
-
-
配置Maven中央仓库
vim /usr/local/apache-maven-3.9.11/conf/settings.xml
找到
... 这个标签,在内部加入 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> </mirror>
保存退出
1.3.3安装MySQL
[!NOTE]
以yum的方式安装
版本8.0
-
下载MySQL仓库配置包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
此处可能提示无wget命令,
yum install wget -y
安装即可 -
安装仓库配置包
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm --nodeps
--nodeps:用于跳过依赖检查,强制安装
-
验证仓库是否添加成功
yum repolist enabled | grep mysql
-
安装MySQL(跳过gpg验证)
yum install -y mysql-community-server --nogpgcheck
-
启动mysql并设置开机自启动
systemctl enable mysqld --now
-
获取mysql自动生成的密码
grep 'password' /var/log/mysqld.log
-
登录mysql并修改密码
mysql -uroot -p
输入获取的密码
修改密码
alter user 'root'@'localhost' identified by 'Aa123456=';
退出 exit
测试是否成功
mysql -uroot -pAa123456=
-
创建项目所需库文件
登录后运行
CREATE DATABASE ruoyi CHARACTER SET utf8;
1.3.4安装redis
[!NOTE]
以源码的方式安装
版本6.2.6
-
安装redis源码包
wget http://download.redis.io/releases/redis-6.2.6.tar.gz
-
解压缩
tar -zxvf redis-6.2.6.tar.gz -C /usr/local/
进入解压缩后的文件内 cd /usr/local/redis-6.2.6
-
安装依赖
yum -y install gcc
-
编译&安装
make && make install
-
修改redis配置文件
vim /usr/local/redis-6.2.6/redis.conf
找到 bind、protected-mode、daemonize开头的这三个,改为
bind 0.0.0.0
监听所有网络接口,即允许来自任何 IP 的客户端连接 Redis。
protected-mode no
关闭保护模式
daemonize yes
Redis 以后台守护进程方式运行,后台运行
-
启动redis
/usr/local/bin/redis-server /usr/local/redis-6.2.6/redis.conf &
1.3.5安装git
cd
yum install git -y
配置git参数(配置使用者名称)
git config --global user.name xxx
git config --global user.email xxx@qq.com
1.4从git仓库下载源码到服务器
在家目录中运行git clone https://gitee.com/y_project/RuoYi-Vue.git
1.5项目配置、打包、安装、运行
-
配置
-
将项目数据库导入mysql数据库中
mysql -uroot -pAa123456=
use ruoyi
source /root/RuoYi-Vue/sql/ry_20250522.sql
检验
show tables
exit
-
修改ruoyi-admin项目的配置文件
vim /root/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml
修改url的数据库名称ruoyi
修改username:mysql用户名
修改password:mysql密码
-
-
安装字体
yum install fontconfig -y
-
安装
进入若依项目主目录
mvn install
-
打包
进入到若依项目的ruoyi-admin目录
mvn package
打包完成之后,在target目录中会有一个ruoyi-admin.jar 这个就是项目后端运行文件
-
运行
把jar包复制到家目录
cp ruoyi-admin.jar ~
java -jar ruoyi-admin.jar
也可用
nohup java -jar ruoyi-admin.jar &
方便后续操作tail -f nohup.log 实时查看运行日志
mysql默认监听8080
http://虚拟机IP:8080
2.前端搭建
2.1初始化服务器
删除扩展源
rpm -e epel-release
重新安装扩展源
yum install epel-release –y
安装yum工具包
yum install yum-utils –y
启用epel全部扩展源
yum-config-manager --enable epel*
检查是否enable
yum repolist all | grep -i epel
清理缓存
yum clean all
yum makecache
2.2安装前端软件、配置环境
2.2.1安装nodejs
yum install nodejs -y
2.2.2安装npm
yum install npm -y
2.2.3安装nginx
[!NOTE]
以源码方式安装
版本1.26.1
-
下载源码包
wget http://nginx.org/download/nginx-1.26.1.tar.gz
-
安装依赖
yum install gcc-c++ -y
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
-
解压缩
tar -zxvf nginx-1.26.1.tar.gz -C /usr/local
-
编译&安装
cd /usr/local/nginx-1.26.1/
./configure && make && make install
cd /usr/local/nginx/html
rm -rf *
2.3部署前端
2.3.1获取前端项目源码
-
在后端服务器中对ruoyi-ui压缩包
tar -zcf ruoyi-ui.tar.gz ruoyi-ui
-
通过scp发送到前端服务器
scp ruoyi-ui.tar.gz root@192.168.78.132:/root/
-
解压缩
tar -zxf ruoyi-ui.tar.gz
2.3.2配置npm环境
cd进入到ruoyi-ui目录内
npm cache clean --force
# 清除原有的配置npm config set registry https://registry.npmmirror.com
# 配置npm的镜像中心npm install -g @vue/cli
# 安装vue脚手架npm install
# 安装前端项目需要的其他模块
2.3.3前端项目打包
在ruoyi-ui目录内
npm run build:prod
[!NOTE]
npm run build: 构建(打包)
prod : 指的是打包成生产环境
test : 指的是打cd包成测试环境
dev : 指的是打包成开发环境
运行命令后会在项目中出现一个dist目录,就是打包好的内容
将这个目录拷贝到/usr/local/nginx/html中
2.3.4修改nginx配置文件
cd /usr/local/nginx/conf
vim nginx.conf
#找到,加入下面中间那行
location / {root html;try_files $uri $uri/ /index.html; # 加这行 index index.html index.htm;
}
再在下方添加nginx代理
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://192.168.42.132:8080/;#该后端服务器地址
}
运行
cd /usr/local/nginx/sbin
./nginx
即可启动
访问http://前端虚拟机IP