我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HAproxy+keepalived+nginx实验部署

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HAproxy+keepalived+nginx实验部署

目录

部署Haproxy+keepalived

一,配置主服务器(haproxy)

1,关闭防火墙

  2,安装依赖环境

  3,编译安装haproxy

 4,haproxy服务配置文件修改

 2.keepalived配置

 二,备用服务器(haproxy)

1,haproxy配置(和主服务器相同)

2,keepalived配置

三,nginx1服务器配置

四,nginx2服务器配置

 五,访问测试(192.168.135.100)

关闭主服务器后,漂移ip由备份服务器承担 ,继续工作


部署Haproxy+keepalived

一,配置主服务器(haproxy)

根据上篇博客   操作,再添加一台haproxy服务器做(备用)边缘服务器,部署keepalived。

1,关闭防火墙

  2,安装依赖环境

[root@haproxy ~]#yum -y install pcre-devel zlib-devel gcc gcc-c++ make

  3,编译安装haproxy

tar zxvf haproxy-1.6.9.tar.gz    #解压安装包cd haproxy-1.6.9/    #进入解压目录make TARGET=linux2628 ARCH=x86_64     #进行编译(TARGET=linux2628 表示内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数用TARGET=linux26;kernel大于2.6.28的用TARGET=linux2628)(ARCH=x86_64   系统位数,现在基本都是64位)make install      # 安

 4,haproxy服务配置文件修改

[root@kya haproxy-1.5.19]#mkdir /etc/haproxy
[root@kya haproxy-1.5.19]#cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/
[root@kya haproxy-1.5.19]#cd /etc/haproxy/
[root@kya haproxy]#ls
haproxy.cfg

 删除将原来的listen配置项,添加新配置:
listen webcluster 0.0.0.0:80
       option httpchk GET /index.html
       balance roundrobin
       server nginx1 192.168.135.90:80 check inter 2000 fall 3
       server nginx2 192.168.135.91:80 check inter 2000 fall 3
 

 5,添加haproxy系统服务 

cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
chmod +x /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy

ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
service haproxy start    或    /etc/init.d/haproxy start //如果ningx服务器未部署会提示找不到web服务器,可以等web部署完后再开启haproxy

 systemctl stop firewalld setenforce 0 yum -y install gcc gcc-c++ make pcre-devel bzip2-develtar zxvf haproxy-1.6.9.tar.gz cd haproxy-1.6.9/ make TARGET=linux2628 ARCH=x86_64     #进行编译 make install mkdir /etc/haproxy   #创建haproxy目录 cp examples/haproxy.cfg /etc/haproxy/  #将软件包中的配置文件模板复制到haproxy目录中 cd vim /etc/haproxy/haproxy.cfg  #修改haproxy.cfg配置参数下面两项前面加上注释#chroot /usr/share/haproxy     #固有目录,可注释掉#redispatch       #当使用了cookie时,haproxy将会将其请求的后端服务器的serverID插入到cookie中,以保证会话的SESSION持久性;而此时,如果后端的服务器宕掉了,但是客户端的cookie是不会刷新的,如果设置此参数,将会将客户的请求强制定向到另外一个后端server上,以保证服务的正常。需要注释掉删除将原来的listen配置项,添加新配置:listen webcluster 0.0.0.0:80       option httpchk GET /index.html       balance roundrobin       server nginx1 192.168.135.90:80 check inter 2000 fall 3       server nginx2 192.168.135.91:80 check inter 2000 fall 3优化服务启动:cp haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy vi /etc/init.d/haproxy修改:# chkconfig: 35 85 15 chmod 755 /etc/init.d/haproxy chkconfig --add /etc/init.d/haproxy ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy systemctl start haproxy

 2.keepalived配置

 
 yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
 
 cp keepalived/etc/init.d/keepalived /etc/init.d ###加入系统管理服务
 systemctl enable keepalived.service ###设置开机自启动
 vi /etc/keepalived/keepalived.conf ###编辑配置文件


删除原有配置,重新添加:

! Configuration File for keepalived
global_defs {                   #全局参数
  router_id LVS_01            #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 {            #指定vrrp热备参数
  state MASTER                 #服务器角色是master,备份服务器设置为BACKUP
  interface ens33               #修改物理网卡名称,默认是centos6的eth0 
  virtual_router_id 10          #组号相同
  priority 150                 #优先级,主服务器设置要大于备服务器
  advert_int 1
  authentication {
   auth_type PASS               #验证类型和密码,不建议修改
   auth_pass 123
}
virtual_ipaddress {
  192.168.135.100               #漂移地址(VIP)地址,可以有多个
 }
}

[root@haproxy2 ~]# systemctl start keepalived
[root@haproxy2 ~]# ip addr
 

yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
 

yum -y install keepalived

vim /etc/keepalived/keepalived.conf 

删除原有配置,重新添加

! Configuration File for keepalived
global_defs {                   #全局参数
  router_id LVS_01              #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 {            #指定vrrp热备参数
  state MASTER                  #服务器角色是master,备份服务器设置为BACKUP
  interface ens33               #修改物理网卡名称,默认是centos6的eth0 
  virtual_router_id 10          #组号相同
  priority 150                  #优先级,主服务器设置要大于备服务器
  advert_int 1
  authentication {
   auth_type PASS               #验证类型和密码,不建议修改
   auth_pass 123
}
virtual_ipaddress {
  192.168.135.100               #漂移地址(VIP)地址,可以有多个
 }
}

 二,备用服务器(haproxy)

1,haproxy配置(和主服务器相同)

 systemctl stop firewalld
 setenforce 0
 yum -y install gcc gcc-c++ make pcre-devel bzip2-devel
tar zxvf haproxy-1.6.9.tar.gz
 cd haproxy-1.6.9/
 make TARGET=linux2628 ARCH=x86_64     #进行编译
 make install


 mkdir /etc/haproxy   #创建haproxy目录
 cp examples/haproxy.cfg /etc/haproxy/  #将软件包中的配置文件模板复制到haproxy目录中
 cd
 vim /etc/haproxy/haproxy.cfg  #修改haproxy.cfg配置参数

下面两项前面加上注释
#chroot /usr/share/haproxy     #固有目录,可注释掉
#redispatch       #当使用了cookie时,haproxy将会将其请求的后端服务器的serverID插入到cookie中,以保证会话的SESSION持久性;而此时,如果后端的服务器宕掉了,但是客户端的cookie是不会刷新的,如果设置此参数,将会将客户的请求强制定向到另外一个后端server上,以保证服务的正常。需要注释掉

删除将原来的listen配置项,添加新配置:
listen webcluster 0.0.0.0:80
       option httpchk GET /index.html
       balance roundrobin
       server nginx1 192.168.135.90:80 check inter 2000 fall 3
       server nginx2 192.168.135.91:80 check inter 2000 fall 3


优化服务启动:
cp haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
 vi /etc/init.d/haproxy

修改:
# chkconfig: 35 85 15

 chmod 755 /etc/init.d/haproxy
 chkconfig --add /etc/init.d/haproxy
 ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
 systemctl start haproxy

前面已经做过直接看keepalived配置

2,keepalived配置

 yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
 
 cp keepalived/etc/init.d/keepalived /etc/init.d ###加入系统管理服务
 systemctl enable keepalived.service ###设置开机自启动
 vi /etc/keepalived/keepalived.conf ###编辑配置文件


删除原有配置,重新添加:

! Configuration File for keepalived
global_defs {                   #全局参数
  router_id LVS_02           #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 {            #指定vrrp热备参数
  state BACKUP                 #服务器角色是master,备份服务器设置为BACKUP
  interface ens33               #修改物理网卡名称,默认是centos6的eth0 
  virtual_router_id 10          #组号相同
  priority 140                 #优先级,主服务器设置要大于备服务器
  advert_int 1
  authentication {
   auth_type PASS               #验证类型和密码,不建议修改
   auth_pass 123
}
virtual_ipaddress {
  192.168.135.100               #漂移地址(VIP)地址,可以有多个
 }
}

[root@haproxy2 ~]# systemctl start keepalived
[root@haproxy2 ~]# ip addr

yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel

yum -y install keepalived

vim /etc/keepalived/keepalived.conf 

删除原有配置,重新添加

! Configuration File for keepalived
global_defs {                   #全局参数
  router_id LVS_02             #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_2 {            #指定vrrp热备参数
  state BACKUP                  #服务器角色是master,备份服务器设置为BACKUP
  interface ens33               #修改物理网卡名称,默认是centos6的eth0
  virtual_router_id 10          #组号相同
  priority 140                  #优先级,主服务器设置要大于备服务器
  advert_int 1
  authentication {
   auth_type PASS               #验证类型和密码,不建议修改
   auth_pass 123
}
virtual_ipaddress {
  192.168.135.100               #漂移地址(VIP)地址,可以有多个
 }
}

 

三,nginx1服务器配置

[root@nginx1 ~]# systemctl stop firewalld[root@nginx1 ~]# setenforce 0[root@nginx1 nginx-1.12.2]# cd[root@nginx1 ~]# echo "

192.168.135.90

" > /usr/local/nginx/html/index.html #创建首页内容[root@nginx1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin #优化启动项[root@nginx1 ~]# nginx[root@nginx1 ~]# netstat -anpt | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58600/nginx: master systemctl start nginx

四,nginx2服务器配置

[root@nginx1 ~]# systemctl stop firewalld[root@nginx1 ~]# setenforce 0[root@nginx1 nginx-1.12.2]# cd[root@nginx1 ~]# echo "

192.168.135.91

" > /usr/local/nginx/html/index.html #创建首页内容[root@nginx1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin #优化启动项[root@nginx1 ~]# nginx[root@nginx1 ~]# netstat -anpt | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58600/nginx: master systemctl start nginx

 五,访问测试(192.168.135.100)

关闭主服务器后,漂移ip由备份服务器承担 ,继续工作

 

 

 再次开启主服务器

来源地址:https://blog.csdn.net/m0_54594153/article/details/126755702

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HAproxy+keepalived+nginx实验部署

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Nginx热部署如何实现

小编给大家分享一下Nginx热部署如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!关闭防火墙,让本地可以通过浏览器访问Nginx服务。[root@local
2023-06-22

Nginx部署SpringBoot项目的实现

本文主要介绍了Nginx部署SpringBoot项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-06

Nginx与Docker Kubernetes的集成部署实践(Nginx如何通过Kubernetes在Docker中进行部署?)

将Nginx与DockerKubernetes集成可实现Web服务器的高效部署和管理。使用Docker容器化Nginx并使用Kubernetes编排。部署流程涉及配置Nginx、构建镜像、推送到Docker仓库和应用Kubernetes配置。集成的好处包括自动化部署、可扩展性、安全性、CI/CD和可移植性。最佳实践包括使用适当的镜像、优化配置、使用YAML文件、监控和定期更新。
Nginx与Docker Kubernetes的集成部署实践(Nginx如何通过Kubernetes在Docker中进行部署?)
2024-04-02

shell脚本实战之部署nginx脚本实例

最近自己编写的Linux一键部署脚本,可以一键部署Nginx,分享给大家,这篇文章主要给大家介绍了关于shell脚本实战之部署nginx脚本的相关资料,需要的朋友可以参考下
2022-12-30

如何实现keeplied +nginx +tomcat 高可用部署

这篇文章将为大家详细讲解有关如何实现keeplied +nginx +tomcat 高可用部署,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 Tomcat 部署本次实验是在两台虚拟机上部署t
2023-06-05

Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)

本文提供了详细步骤和最佳实践,指导如何将Nginx部署为Docker容器。步骤包括创建镜像、运行容器、配置Nginx以及管理容器。最佳实践建议使用最新版本、自定义配置、启用日志记录、使用反向代理以及监控容器。此外,本文还强调了安全容器的重要性,并建议定期备份和更新。
Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)
2024-04-02

主从DNS部署--超详细实验操作

应读者要求,今天补充一个DNS主从的知识。关于主从DNS部署,工作中很少会用到,但是为了让大家遇到时能快速搭建环境,这里做个实践。安装dns软件:[root@slave1 ~]# yum -y install bind*登录后复制
2023-08-02

编程热搜

目录