Ruoyi开源项目部署
@ 叱月 | 2021-05-01T14:53:49+08:00 | 3 分钟阅读 | 更新于 2021-05-01T14:53:49+08:00

小集群项目部署

Gitee下载地址

本文用于记录在部署过程中遇见的错误,详细步骤参见Codesheep视频

集群部署图解:

思维导图

1、部署前的环境配置:

1.node.js+jdk+Maven安装

node-v12.16.3下载地址

JDK下载地址:链接: https://pan.baidu.com/s/1tXQ74CIQcOSkjmRF2WwGCA 提取码: k5e2

Maven下载地址:链接: https://pan.baidu.com/s/1w8ADy2nwkpnLuVM1D1et-g 提取码: 3shn

​ 安装lrzsz方便上传和下载文件:

yum install lrzsz -y

服务器中使用rz -E命令将下载好的文件上传。

上传完毕后解压到指定路径配置其环境变量。

解压:

tar -vxzf node-v12.16.3-linux-x64.tar.gz -C ../software
tar -vxzf jdk-8u141-linux-x64.tar.gz -C ../software
tar -vxzf apache-maven-3.6.3-bin.tar.gz -C ../software

环境变量配置:

vim 打开/etc/profile文件

根据自己目录输入以下

export NODE_HOME=/home/jgx/software/node-v12.16.3-linux-x64
export PATH=:$NODE_HOME/bin:$PATH

export MAVEN_HOME=/home/jgx/software/apache-maven-3.6.3
export PATH=:$MAVEN_HOME/bin:$PATH

export JAVA_HOME=/home/jgx/software/jdk1.8.0_161
export PATH=:$JAVA_HOME/bin:$PATH

使环境变量生效:

source /etc/profile

配置完成之后查看各个软件包的版本号,测试安装是否成功:

npm -v
node -v

nodenpm

java -v

Javaverison

mvn -v

mvn

Maven切换阿里更新源:

vim 打开/home/jgx/software/apache-maven-3.6.3/conf/settings.xml文件,在中间加入以下内容(大约在160行左右):

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

2.Nginx+Tomcat+Mysql+Redis配置:


为了方便Mysql+Redis我使用的是Docker部署,nginx和tomcat的编译源码包可直接去官网下载:

Mysql部署:

docker run --name Mysql -d -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=jgx123 --restart=always mysql:5.7

Redis部署:

docker run --name Redis -d -p 6379:6379 --restart=always redis:latest

Nginx编译安装:

安装编译需要的软件包:

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

进入到解压后的目录分别执行:

./configure

make && make install 

默认安装目录:/usr/local/nginx

2、项目打包

1. 后端打包

指定字符集编码格式:

编码格式

Mysql配置:

Mysql

Redis配置:

redis

日志文件指定目录:

日志

内嵌Web容器剔除:

tomcat

新建一个Java class指向RuoYiApplication.class:

tomcat2

将项目文件打包上传到服务器并解压,进入ruoyi-admin文件夹用Maven打包:

mvn package
#打完之后的路径是./ruoyi-admin//target/

2.前端打包:

进入解压的Ruoyi-Vue文件夹,按次序执行以下命令:

#指定淘宝安装源//cnpm打包容易出错不建议使用
npm install --unsafe-perm  --registry=https://registry.npm.taobao.org
#构建生产环境包
npm run build:prod
#打完之后的目录是./ruoyi-yi/dist/

将前端的dist目录移动至nginx的html目录下,war包移动至tomcat的webapps目录下。

3、Nginx+Tomcat+Mysql配置:

1.Nginx配置:

1.1 权限配置:

Nginx1

1.2 设置Nginx根目录

nginx2

配置之后启动nginx,会发现前端的接口错误,需要配置反向代理

api

#检查配置文件争取还是错误
/usr/local/nginx/sbin -t 
#启动
/usr/local/nginx/sbin

1.3 配置prod-api的反向代理

nginx4

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://ruoyi/;#指向被配置的负载均衡upstream
}

1.4 配置负载均衡,设置权重(值越大优先权越大)

nginx3

upstream ruoyi{
  server 192.168.100.61:8080 weight=3;
  server 192.168.100.62:8080 weight=5;
}

2.Tomcat配置:

1.1 设置Tomcat访问首页的根目录

vim 打开/home/jgx/software/apache-tomcat-9.0.45/conf/server.xml文件根据自己目录情况添加以下内容:

  	<Context path="/" docBase="/home/jgx/software/apache-tomcat-9.0.45/webapps/ruoyi-admin" reloadable="false"></Context>

tomcat1

3.配置Mysql

3.1 创建数据库ry-vue

mysqlvue

3.2 导入项目中的sql文件:

sql文件

重新启动Tomecat和Nginx:

/usr/local/nginx/sbin -s reload
/home/jgx/software/apache-tomcat-9.0.45/bin/shutdown.sh
/home/jgx/software/apache-tomcat-9.0.45/bin/startup.sh

4、完成~~

192.168.100.61Tomcat:

61

192.168.100.62Tomcat:

62

192.168.100.61Nginx:

61

故意输错验证码测试负载均衡:

tail -f /home/jgx/software/logs/logssys-info.log

yanzhengma

© 2021 叱月的小冰窖

avatar
关于我

叱月❤️的 ❤️ 博客

记录一些技术上的事

一名大四学生🕯️

马上毕业于青岛理工大学琴岛学院

– 2021 年 07 月 2 日更新

社交链接