HAProxy+keepalived+nginx实现高性能负载均衡集群 转发

news/2025/9/29 9:02:26/文章来源:https://www.cnblogs.com/testzcy/p/19118110

HAProxy+keepalived+nginx实现高性能负载均衡集群 转发

原文链接:https://mp.weixin.qq.com/s/33jhtkzAo9NMAlWY1gyjPw

1、环境规划

192.168.52.15

master

haproxy+keepalived

192.168.52.16

backup

haproxy+keepalived

192.168.52.17

web1

nginx1

192.168.52.18

web2

nginx2

192.168.52.88

 

vip

图片

2、nginx安装

2.1、下载二进制包

wget -O /usr/local/src/nginx-1.24.0.tar.gz https://nginx.org/download/nginx-1.24.0.tar.gz

2.2、安装依赖包

yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed

2.3、安装nginx服务器

cd /usr/local/src

tar zxvf nginx-1.24.0.tar.gz

cd nginx-1.24.0/

./configure --prefix=/usr/local/nginx \

  --user=nginx \

  --group=nginx \

  --with-http_ssl_module \

  --with-http_v2_module \

  --with-http_realip_module \

  --with-http_stub_status_module \

  --with-http_gzip_static_module \

  --with-pcre \

  --with-stream \

  --with-stream_ssl_module \

  --with-stream_realip_module

make && make install

2.4、添加Nginx用户

useradd nginx -s /sbin/nologin -u 2000

chown -R nginx:nginx /usr/local/nginx/

2.5、配置Nginx服务

cat > /usr/lib/systemd/system/nginx.service <<EOF[Unit]Description=The nginx HTTP and reverse proxy serverAfter=network.target remote-fs.target nss-lookup.target [Service]Type=forkingPIDFile=/var/run/nginx.pidExecStartPre=/usr/bin/rm -f /var/run/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -tExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP KillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=true [Install]WantedBy=multi-user.targetEOF

创建nginx命令软链接:

ln -sv /usr/local/nginx/sbin/nginx /usr/sbin/nginx

2.6、修改Nginx配置文件

vim /usr/local/nginx/conf/nginx.confuser  nginx;worker_processes  auto; error_log  /usr/local/nginx/logs/error.log warn;pid        /var/run/nginx.pid;  events {    worker_connections  1024;}  http {    include      /usr/local/nginx/conf/mime.types;    default_type  application/octet-stream;    sendfile        on;    server_tokens off;    tcp_nopush  on;    tcp_nodelay on;    # nginx日志格式    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';     access_log  /usr/local/nginx/logs/access.log  main;     #sendfile        on;    #tcp_nopush     on;     keepalive_timeout  1d;    proxy_set_header   Host             $host;    proxy_set_header   X-Real-IP        $remote_addr;    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;    proxy_set_header  x-client-ip  $remote_addr;     #gzip  on;     include /usr/local/nginx/conf/conf.d/*.conf;}

mkdir /usr/local/nginx/conf/conf.d

vi /usr/local/nginx/conf/conf.d/default.conf

server {

     listen       80;

     server_name  localhost;

     access_log  logs/access.log  main;

     location / {

       root   /var/www/html;

       index  index.html index.htm;

    }

}

2.7、配置前端

mkdir /var/www/html -p

Nginx01配置:

echo "welcome to nginx01" > /var/www/html/index.html

Nginx02配置:

echo "welcome to nginx02" > /var/www/html/index.html

2.8、启动Nginx服务

systemctl daemon-reload

systemctl start nginx

systemctl status nginx

systemctl enable nginx

2.9、验证nginx

ps -ef |grep nginx

journalctl -u nginx

2.10、防火墙设置

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=443/tcp

firewall-cmd --reload

firewall-cmd --list-all-zones

2.11、访问nginx

图片

图片

3、harproxy+keepalived

3.1、开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

3.2、安装HAProxy和Keepalived

yum install -y haproxy keepalived

3.3、配置HAProxy

vi /etc/haproxy/haproxy.cfgglobal    log /dev/log local0    log /dev/log local1 notice    chroot /var/lib/haproxy    user haproxy    group haproxy    daemon defaults    log     global    mode    http    option  httplog    option  dontlognull    timeout connect 5000    timeout client  50000    timeout server  50000 frontend http_front    bind *:80    default_backend http_back backend http_back    balance roundrobin    server web1 192.168.52.17:80 check    server web2 192.168.52.18:80 check

3.4、配置keepalived

主节点(192.168.52.15:

vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs {     router_id SERVER1} vrrp_instance VI_1 {      state MASTER      interface ens33      virtual_router_id 51      priority 100      advert_int 1      authentication {          auth_type PASS          auth_pass 1234      }      virtual_ipaddress {          192.168.52.88      }}

节点(192.168.52.16:

vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs {     router_id SERVER2} vrrp_instance VI_1 {      state BACKUP      interface ens33      virtual_router_id 51      priority 90      advert_int 1      authentication {          auth_type PASS          auth_pass 1234      }      virtual_ipaddress {          192.168.52.88      }}

3.5、启动服务

systemctl enable haproxy

systemctl start haproxy

systemctl status haproxy

systemctl enable keepalived

systemctl start keepalived

systemctl status keepalived

3.6防火墙配置

systemctl disable firewalld

systemctl stop firewalld

3.7、测试负载均衡

keepalived主节点(192.168.52.15):成功获取vip:192.168.52.88

图片

keepalived备节点(192.168.52.16):没有获取vip,正常

图片

浏览器访问:http://192.168.52.88

图片

3.8、防火墙放行配置

harproxy两台服务器防火墙配置:

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \

  --in-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

  

firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \

  --out-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

 

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

 

nginx两台服务器防火墙配置:

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

 

查看防火墙配置:

iptables -L OUTPUT_direct --line-numbers

iptables -L INPUT_direct --line-numbers

删除防火墙配置:

firewall-cmd --direct --permanent --remove-rule ipv4 filter INPUT 0 \

  --in-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

  

firewall-cmd --direct --permanent --remove-rule ipv4 filter OUTPUT 0 \

  --out-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

firewall-cmd --zone=public --remove-port=80/tcp --permanent

firewall-cmd --reload

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oa系统的概念南宁seo做法价格

大家好&#xff0c;我是电商花花。 在现在直播电商时代&#xff0c;抖音电商已经成为了一种新兴的商业模式&#xff0c;在抖音小店的项目上&#xff0c;店铺体验分成为了抖音小店能否成功的一个关键因素之一。 店铺的体验分越高&#xff0c;我们店铺的权重才会更高&#xff0…

京东JoyAgent环境搭建与推理测试

一、引子 有几个月没有写blog了,主要原因这几个月工作变动,没有腾出时间来。最近在搞rag、agent这些东西,越深入发现遇到的问题就越多,常见的开源dify,ragflow这些总存在这样或者那样的问题,再解决实际问题的时候…

万字长文:企业可观察性平台的建设方案实践

背景 家里放置了一个 32G+1T 的 R7-8745H 主机,部署一些数据库等服务以便日常开发,后续需求越来越多,需要用到可观察性组件,所以研究一些在中小公司中实现性价比高、简单易用、吞吐量大的部署方案。本问主要部署环…

量个网站一个域名c9设计软件

该插件移植自 Python 的 Flask-Docs&#xff0c;可以根据代码注释生成文档页面&#xff0c;支持离线文档下载和生成&#xff0c;支持在线调试&#xff0c;支持密码认证。 Gin-Docs Gin API 文档自动生成插件 特性 根据代码注释自动生成 Markdown 文档支持离线 Markdown 文档下…

2025 年热转印花膜厂家最新推荐排行榜:覆盖硅胶,五金,塑胶,ABS,水杯等领域,权威推荐优质品牌解决采购难题

在热转印行业快速发展的当下,热转印花膜作为关键耗材,需求持续攀升,但市场乱象却让采购者举步维艰。部分厂家产品质量不过关,图案模糊、附着力差等问题频发;行业鱼龙混杂,采购者难辨厂家真实实力;服务体系不完善…

离最新版本只有一步之遥了!重新启动 Chrome 即可完成更新

离最新版本只有一步之遥了!重新启动 Chrome 即可完成更新任务管理器杀掉 chrome 进程 打开 chrome 根目录,删掉 chrome.exe ,把 new_chrome.exe 改名为 chrome.exe

2025 年最新推荐 OCR 图片识别软件厂商权威排行榜:聚焦文字识别与表格转换优质服务商全景评测

在数字化办公加速渗透的当下,OCR 图片识别技术已成为企业与个人提升数据处理效率的核心工具,但其市场供给端却呈现 “良莠不齐” 的现状。部分厂商技术迭代滞后,面对复杂背景、倾斜角度图片时识别率不足 80%,导致人…

实用指南:Go tool pprof 与 Gin 框架性能分析完整指南

实用指南:Go tool pprof 与 Gin 框架性能分析完整指南2025-09-29 08:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…

书生网站wordpress群发文章

1、到高德开放平台申请&#xff0c;获取key 高德开放平台&#xff1a;https://lbs.amap.com/ 2、下载高德定位及地址搜索SDK:https://download.csdn.net/download/meixi_android/10845407 3、项目绑定高德SDK &#xff08;1&#xff09;配置key <meta-data android:name&q…

day13 课程()

day13 课程()课程: 12.1 了解递归------------------------------------------------ 执行后12.2 递归之回顾函数返回值------------------------------------------------ 执行后————————————————…

2025 年钻机源头厂家最新权威推荐排行榜:聚焦核心技术与服务,精选钻机实力企业助力采购决策

当前工程建设、地质勘探、水利水电等领域对钻机设备的需求持续增长,但市场上钻机源头厂家良莠不齐,部分企业存在核心技术缺失、产品适配性差、售后服务滞后等问题,给采购方带来选型难、风险高的困扰。为帮助企业精准…

2025 年最新钛白粉源头厂家权威推荐排行榜:聚焦广东 / 珠三角 / 东莞等区域,精选优质供应商助力企业采购决策

当前钛白粉市场需求持续升级,下游企业在采购时面临诸多难题:一方面,环保政策趋严下,不符合绿色生产标准的厂家逐渐被淘汰,优质供应商筛选难度加大;另一方面,不同行业对钛白粉的白度、分散性、相容性等性能要求差…

网站用空间还是服务器济南专业网站建设咨询

要实现InputField框自适应输入内容&#xff0c;除了通过代码进行处理&#xff0c;还可以是使用以下简便的方法。 1、创建InputField组件&#xff1a;右键->UI->Input Field -TextMeshPro。 2、把Input Field Settings中的Line Type设置为Multi Line Newline模式&#x…

建站教程下载网站模板 带后台

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议&am…

核相的基本知识

1、定义:所谓核相就是核实需要合环(或并列)的两个电源系统(或变压器、电压互感器)的相序(A、B、C三相)是否一致,并且正确。 2、核相的重要性: (1)保障人身和设备安全:如果相位不对应就强行连接,会造成严重的相…

win10 环境变量不可编辑

在Win10中打开环境变量编辑器,显示环境变量编辑功能不可用,如下图:解决方法: 1.按 Win+R ,直接输入以下命令并回车:SystemPropertiesAdvanced.exe 2.如果这个命令能正常打开“系统属性”的“高级”选项卡,并且可…

2025云南游选哪家?久游国际旅行社吃住超便利

2025 云南游选哪家?久游国际旅行社吃住超便利 云南,一直以来都是众多游客心驰神往的旅游胜地,其独特的自然风光与丰富的民族文化,每年都吸引着无数人踏上这片土地。然而,云南旅游市场曾存在不少陷阱,让不少游客遭…

江门做公司网站婚庆网站策划

1.从当前目录切换到/usr/local cd /usr/local2.使用绝对路径&#xff0c;从当前目录切换到/usr/local/lib cd /usr/local/lib3.使用相对路径&#xff0c;从当前路径切换到/usr …

2025 昆明哪家旅行社好?久游国际赏龙门滇池风光

2025昆明哪家旅行社好?久游国际赏龙门滇池风光 云南,向来是旅游爱好者心中的梦幻之地,其旖旎的自然风光与多彩的民族风情吸引着无数游客纷至沓来。在规划云南之旅时,选择一家靠谱的旅行社至关重要,而昆明久游国际…

做编程的网站有哪些有哪些站内推广的方式

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具&#xff0c;可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…