首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Nginx集群负载(基于LVS和Keepalived)搭建详细说明以及案例

Nginx集群负载(基于LVS和Keepalived)搭建详细说明以及案例

作者头像
西里网
发布2025-05-19 09:34:56
发布2025-05-19 09:34:56
4280
举报
文章被收录于专栏:西里网CSDN博客西里网CSDN博客
参考资料

  1. nginx配置
  2. Nginxsendfile 零复制指令详细说明以及案例
  3. Nginx 启动、停止、重启、加载配置详细说明以及案例
  4. Tengine编译安装详细说明以及案例
  5. Nginx端口监听(listen指令)详细说明以及案例
  6. Nginx error_log:错误日志配置详细说明以及案例
  7. Nginx HTTP代理服务器详细说明以及案例
  8. CGI(Common Gateway Interface,通用网关接口)详细说明以及案例
Nginx集群负载(基于LVS和Keepalived)搭建详细说明
1. 环境准备
  • 操作系统: CentOS 7.x
  • Nginx: 1.18.0
  • LVS: IPVS
  • Keepalived: 2.0.10
  • 服务器: 3台(1台LVS主节点,1台LVS备节点,1台Nginx后端服务器)
2. 安装Nginx

在所有Nginx后端服务器上安装Nginx:

代码语言:javascript
复制
  1. sudo yum install -y nginx
  2. sudo systemctl start nginx
  3. sudo systemctl enable nginx
3. 安装LVS和Keepalived

在LVS主节点和备节点上安装LVS和Keepalived:

代码语言:javascript
复制
  1. sudo yum install -y ipvsadm keepalived
4. 配置Keepalived

在LVS主节点上配置/etc/keepalived/keepalived.conf

代码语言:javascript
复制
  1. vrrp_instance VI_1 {
  2. state MASTER
  3. interface eth0
  4. virtual_router_id 51
  5. priority 100
  6. advert_int 1
  7. authentication {
  8. auth_type PASS
  9. auth_pass 1111
  10. }
  11. virtual_ipaddress {
  12. 192.168.1.100
  13. }
  14. }
  15. virtual_server 192.168.1.100 80 {
  16. delay_loop 6
  17. lb_algo rr
  18. lb_kind DR
  19. protocol TCP
  20. real_server 192.168.1.101 80 {
  21. weight 1
  22. TCP_CHECK {
  23. connect_timeout 10
  24. nb_get_retry 3
  25. delay_before_retry 3
  26. connect_port 80
  27. }
  28. }
  29. real_server 192.168.1.102 80 {
  30. weight 1
  31. TCP_CHECK {
  32. connect_timeout 10
  33. nb_get_retry 3
  34. delay_before_retry 3
  35. connect_port 80
  36. }
  37. }
  38. }

在LVS备节点上配置/etc/keepalived/keepalived.conf,将state改为BACKUPpriority改为90

5. 启动Keepalived

在LVS主节点和备节点上启动Keepalived:

代码语言:javascript
复制
  1. sudo systemctl start keepalived
  2. sudo systemctl enable keepalived
6. 配置Nginx后端服务器

在Nginx后端服务器上配置ARP抑制:

代码语言:javascript
复制
  1. echo "net.ipv4.conf.all.arp_ignore = 1" | sudo tee -a /etc/sysctl.conf
  2. echo "net.ipv4.conf.all.arp_announce = 2" | sudo tee -a /etc/sysctl.conf
  3. sudo sysctl -p
7. 验证配置
  • 访问虚拟IP 192.168.1.100,查看是否能够负载均衡到后端Nginx服务器。
  • 关闭LVS主节点的Keepalived,查看备节点是否接管虚拟IP。
案例

假设有三台服务器:

  • LVS主节点: 192.168.1.10
  • LVS备节点: 192.168.1.11
  • Nginx后端服务器1: 192.168.1.101
  • Nginx后端服务器2: 192.168.1.102

配置完成后,访问192.168.1.100,请求将被负载均衡到192.168.1.101192.168.1.102。如果LVS主节点故障,备节点将接管虚拟IP,确保服务高可用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
  • Nginx集群负载(基于LVS和Keepalived)搭建详细说明
    • 1. 环境准备
    • 2. 安装Nginx
    • 3. 安装LVS和Keepalived
    • 4. 配置Keepalived
    • 5. 启动Keepalived
    • 6. 配置Nginx后端服务器
    • 7. 验证配置
  • 案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档