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高可用

rpm包下载地址

# 离线安装
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配置文件介绍

posted @   钱塘江畔  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示