由于本项目采用的是java Spring Boot 框架编写的一个项目,他所采用的方式为jar包部署。采用jar包部署的有Spring Cloud 微服务系列。下面主要实战整个模拟生产中如何使用jar包上线,以及上线流程。
项目部署环境:(系统均为rocky)
- 192.168.58.189 —ngixn代理服务器
- 192.168.58.198 —后端服务器、打包服务器
- 192.168.58.199 —数据库服务器
一、数据库服务器部署:
安装mariadb: dnf -y install mariadb mariadb-server
修改授权用户、创建数据库;
create user 'ruoyi'@'%' identified by 'Password';
grant all on ruoyi.* to 'ruoyi'@'%';
flush privileges;
create database ruoyi default charset 'utf8';
安装redis:dnf -y install redis
vim /etc/redis/redis.conf
bind 0.0.0.0 #允许连接限制
requirepass 123456 #设置redis密码
systemctl start redis
二、后端服务器部署
1、获取源代码
dnf -y install git
git clone https://gitee.com/y_project/RuoYi-Vue.git
scp /root/RuoYi-Vue/sql/* 192.168.58.199:/root/ #将sql语句拷贝到数据库服务器并导入
192.168.58.199 -- 数据库服务器:
mysql -pPassword ruoyi < quartz.sql
mysql -pPassword ruoyi < ry_20240629.sql
将代码拉取到本地服务器;
2、部署打包环境
jdk、maven、node
wget https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-x64_bin.tar.gz
wget https://github.com/nodejs/node/archive/refs/heads/main.zip
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
编写环境变量脚本,
vim /etc/profile.d/app.sh
export JAVA_HOME=/usr/jdk
export MVN_HOME=/usr/maven
export NODE_HOME=/usr/node
export PATH=$PATH:$JAVA_HOME/bin:$MVN_HOME/bin:$NODE_HOME/bin
source /etc/profile.d/app.sh
3、打包后端代码
vi /root/RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml
redis:
host: 192.168.58.198
password: 123456
#关联redis
vi /root/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml
url: jdbc:mysql://192.168.58.198:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
username: ruoyi
password: Password@123
#关联mariadb
cd /root/RuoYi-Vue/
mvn package ——打包后端代码
cd ruoyi-admin/target/
nohup java -jar ruoyi-admin.jar & #启动代码程序
4、打包前端代码、
vim /RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml
host: 192.168.58.205
password: 123456
#关联redis
cd /root/RuoYi-Vue/ruoyi-ui/
npm install --registry=http://registry.npmmirror.com #替换为国内阿里镜像
npm run build:prod #打包前端代码
打包后的位置:/root/RuoYi-Vue/ruoyi-ui/disk/
将打包出来的前端代码拷贝到前端服务器:
scp /root/RuoYi-Vue/ruoyi-ui/disk/* 192.168.58.189:/root/
三、前端服务器发布项目
1、安装nginx并关联后端服务
dnf -y install nginx
vim /etc/nginx/nginx.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html
index index.html;
}
location /prod-api/ {
proxy_pass http://192.168.58.198:8080/;
proxy_set_header $Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#location 此处location匹配的prod在/RuoYi-Vue/ruoyi-ui/.env.production文件中决定的;
2、上线前端服务
rm -rf /usr/share/nginx/html/*
mv /root/disk/* /usr/share/nginx/html/
nginx
3、网页访问
192.168.58.189
Comments NOTHING