配置信息:3台nginx+3台nacos+1mysql服务
请移步nginx安装教程
# 下载好的nacos放到/usr/local目录下
cd /usr/local
# 解压
tar -zxvf nacos-server-2.0.1.tar.gz
# 删除压缩包
rm -f nacos-server-2.0.1.tar.gz
⑴安装keepalived
# 安装keepalived
yum install keepalived -y
# 查看是否已安装
rpm -q -a keepalived
⑵配置keepalived
安装之后,会在etc里面生成目录keepalived, 有配置文件keepalived.conf,然后编辑keepalived.conf配置文件
cd /etc/keepalived
vi keepalived.conf
将keepalived.conf里内容全部替换为如下内容
(每台服务器都要对应的修改)
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_ server 192.168.2.128
smtp_connect_timeout 30
router_id server_1 # 主机名
}
vrrp_script chk_http_ port {
script "/usr/local/src/nginx_check.sh"
interval 2 # (检测脚本执行的间隔)2s
weight 2 #权重,如果这个脚本检测为真,服务器权重+2
}
vrrp_instance VI_1 {
state MASTER # 备份服务器上将MASTER 改为BACKUP
interface ens33 //网卡名称
virtual_router_id 51 # 主、备机的virtual_router_id必须相同
priority 100 #主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1 #每隔1s发送一次心跳
authentication {
# 校验方式, 类型是密码,密码1111
auth type PASS
auth pass 1111
}
virtual_ipaddress {
# 虛拟ip
192.168.2.50 // VRRP H虛拟ip地址
}
}
其中参数配置:
⑶新建脚本
在路径/usr/local/src/ 下新建检测脚本 nginx_check.sh
#! /bin/bash
A=`ps -C nginx -no-header | wc - 1`
if [ $A -eq 0];then
# nginx安装位置
/usr/local/nginx/sbin/nginx
sleep 2
if [`ps -C nginx --no-header| wc -1` -eq 0 ];then
killall keepalived
fi
fi
⑷启动
分别启动多台虚拟机上的nginx服务
# 启动nginx
cd /usr/local/nginx/sbin/
./nginx
# 启动keepalived
systemctl start keepalived.service
# 查看keepalived是否启动
ps -ef I grep keepalived
⑸测试
一、因为nacos内嵌的是derby数据库,集群环境下无法持久化数据,所以需要将derby切换到mysql;
⑴执行nacos-mysql.sql脚本
在/usr/local/nacos/conf目录下找到nacos-mysql.sql脚本文件并执行;
⑵修改application.properties配置文件
在/usr/local/nacos/conf目录下找到application.properties配置文件,在最后追加如下信息
spring.datasource.platform=mysql
db.num=1
# localhost改为你mysql所在服务地址
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 数据库账号
db.user=root
# 数据库密码
db.password=123456
⑶修改cluster.conf.example配置文件
在/usr/local/nacos/conf目录下找到cluster.conf.example配置文件,修改cluster.conf.example为cluster.conf
# 进入nacos conf目录下
cd /usr/local/nacos/conf/
# 修改cluster.conf.example为cluster.conf
mv cluster.conf.example cluster.conf
⑴修改nginx.conf
找到/usr/local/nginx/conf下的nginx.conf修改
# 在#gzip on;下添加
upstream cluster{
server 192.168.2.128:8848;
server 192.168.2.129:8848;
server 192.168.2.130:8848;
}
# location中添加
proxy_pass http://cluster;
# nacos集群启动
cd /usr/local/nacos/bin/
sh startup.sh cluster