
小集群项目部署
本文用于记录在部署过程中遇见的错误,详细步骤参见Codesheep视频
集群部署图解:
1、部署前的环境配置:
1.node.js+jdk+Maven安装
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
java -v
mvn -v
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配置:
Redis配置:
日志文件指定目录:
内嵌Web容器剔除:
新建一个Java class指向RuoYiApplication.class:
将项目文件打包上传到服务器并解压,进入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 权限配置:
1.2 设置Nginx根目录
配置之后启动nginx,会发现前端的接口错误,需要配置反向代理
#检查配置文件争取还是错误 /usr/local/nginx/sbin -t #启动 /usr/local/nginx/sbin
1.3 配置prod-api的反向代理
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 配置负载均衡,设置权重(值越大优先权越大)
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>
3.配置Mysql
3.1 创建数据库ry-vue
3.2 导入项目中的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:
192.168.100.62Tomcat:
192.168.100.61Nginx:
故意输错验证码测试负载均衡:
tail -f /home/jgx/software/logs/logssys-info.log