学习搭建nginx高可用集群过程中的一些问题,通过搜索资料解决了,记录一下
(1)安装
yum -y install keepalived
安装出现以下错误,参考https://blog.youkuaiyun.com/weixin_44015158/article/details/118616360解决:
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit)
-
原因:没有安装mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
-
解决方案:到安装mysql的目录中执行:
-
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
1:libkkc-0.3.1-9.el7.x86_64 有缺少的需求 libmarisa.so.0()(64bit)
-
原因:centos7.6自带的类mysql数据库是mariadb,会跟mysql冲突,删除了mariadb
-
解决方案:单纯下载一个 marisa-0.2.4-4.el7.x86_64.rpm 而不去装整个mariadb
-
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/marisa-0.2.4-4.el7.x86_64.rpm rpm -ivh marisa-0.2.4-4.el7.x86_64.rpm
(2)配置主机
#/etc/keepalived/keepalived.conf
#全局配置
global_defs {
#设置主机
smtp_server 192.xxx.xxx.x
#设置虚拟机与主机连接超时时间
smtp_connect_timeout 30
#唯一标识信息,可以设置为/etc/hosts中配置的主机名
router_id host01
#设置脚本的用户为root
script_user root
#开启脚本安全模式
enable_script_security
}
#脚本配置
vrrp_script chk_http_port
{
#设置监控脚本
script "/usr/local/src/nginx_check.sh"
#设置监控脚本执行间隔
interval 2
#监控脚本执行异常则-20权重
weight -20
}
#vrrp实例配置