nginx配置高可用
1.背景
应用部署需要nginx高可用,两台服务器
2.步骤
2.1 两台服务器分别部署nginx
cd /usr/local/
mkdir nginx
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-cc=/usr/bin/gcc
sudo make
sudo make install
cd ..
sudo /usr/local/nginx/nginx -c ./conf/nginx.conf
ps -ef | grep nginx
2.2配置keepalived高可用
# 离线安装
sudo rpm -ivh keepalived-1.3.5-19.el7.x86_64.rpm --nodeps --force
sudo vi keepalived.conf
sudo systemctl start keepalived.service
ps -ef | grep keepalived
配置文件
global_defs {
script_user root
router_id LVS_DEVEL # 机器标识 局域网内唯一即可。 LVS_DEVEL这字段在/etc/hosts文件中看;通过它访问到主机
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh" #检测脚本存放的路径
interval 2 # 检测脚本执行的间隔,即检测脚本每隔2s会自动执行一次
weight 2 #权重,如果这个脚本检测为真,服务器权重+2
}
vrrp_instance VI_1 {
state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备。备份服务器上需将MASTER 改为BACKUP
interface bond0 # 通信端口 通过ip addr可以看到,根据自己的机器配置
virtual_router_id 51 # vrrp实例id keepalived集群的实例id必须一致,即主、备机的virtual_router_id必须相同
priority 100 #优先级,数值越大,获取处理请求的优先级越高。主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1 #心跳间隔,默认为1s。keepalived多机器集群 通过心跳检测当前服务器是否还正常工作,如果发送心跳没反应,备份服务器就会立刻接管;
authentication { # 服务器之间通信密码
auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}
virtual_ipaddress { # 自定义虚拟IP。自定义的虚拟ip得根据真实ip设置。比如真实ip是192.168.91.138,那么虚拟ip可以设置为192.168.91.139~255,前面三个数得一致
132.151.261.450 # 定义虚拟ip(VIP),可多设,每行一个
}
}
3.问题
3.1 error while loading shared libraries
error while loading shared libraries: libsensors.s
Jun 28 10:32:25 localhost.localdomain systemd[1]: keepalived.service: control process exited, code=exited status=127
# error while loading shared libraries的解决方案
实际情况是安装成了i386的包,重新下载x86_64的包才解决此问题。所以yumdownloader --resolve --destdir=/root/soft/libsensors.so libsensors.so
并不能完全100%解决问题,还是要筛查下是否x86_64
4.引用
Nginx配置高可用集群
解决Keepalived脚本启动时warning、Unsafe
error while loading shared libraries的解决方案
Ifconfig详细介绍
keepalived配置文件keepalived.conf详解
keepalived.conf配置文件介绍
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)