【亲测无坑】Cenots7搭建HAProxy+nginx+nfs共享负载均衡

安装环境

实现反向代理和负载均衡的共享储存

服务主机ip地址安装软件
HAProxy192.168.2.212haproxy-1.7.8.tar.gz
nginx1192.168.2.206nginx
nginx2192.168.2.195nginx
nfs192.168.2.214nfs

注意,注意一定要关闭防火墙和Selinux

每一台都要,不要忘了,实在不行开始做打一次,配置完打一次 

关闭防火墙

systemctl stop firewalld.service       //关闭服务
systemctl disable firewalld.service  //设为默认开机不启动

关闭Selinux

setenforce 0                  //关闭
vim /etc/sysconfig/selinux    //进入 selinux文件修改它

SELINUX=disabled         //改成 disabled 

壹,HAProxy高可用安装部署


一,下载解压

本文章采用的是1.7.8版本haproxy-1.7.8.tar.gz

想下载其它版本去官网找,wget 路径/haproxy-1.7.8.tar.gz(版本名字)

 下载haproxy包

wget  https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.7.8.tar.gz/sha512/e1d65c8a4607c01d52628f36f8c7342096267130a0f949474746f571158e4f795281f78765004c214a0527f74ce180760f9cc910d3650d30026776076d721c0c/haproxy-1.7.8.tar.gz

解压

[root@localhost /]# tar -zxvf haproxy-1.7.8.tar.gz

二,编译安装

[root@localhost /]# cd haproxy-1.7.8/
[root@localhost haproxy-1.7.8]# uname -r    #查看内核版本
3.10.0-1160.el7.x86_64
[root@localhost haproxy-1.7.8]# make TARGET=linux310 ARCH=x86_64          
[root@localhost haproxy-1.7.8]# make install PREFIX=/usr/local/haproxy  #编译安装,路径没有(没有会自己创建)
install -d "/usr/local/haproxy/sbin"
install haproxy  "/usr/local/haproxy/sbin"
install -d "/usr/local/haproxy/share/man"/man1
install -m 644 doc/haproxy.1 "/usr/local/haproxy/share/man"/man1
install -d "/usr/local/haproxy/doc/haproxy"
for x in configuration management architecture cookie-options lua WURFL-device-detection proxy-protocol linux-syn-cookies network-namespaces DeviceAtlas-device-detection 51Degrees-device-detection netscaler-client-ip-insertion-protocol close-options SPOE intro; do \
        install -m 644 doc/$x.txt "/usr/local/haproxy/doc/haproxy" ; \
done

TARGET=linux310  内核版本   例子内核为 kernel 大于2.6.28的可以用:TARGET=linux2628

ARCH=x86_64   系统位

三,创建配置文件

1.79及以后的版本解压后文件内就没有haproxy.cfg文件,需要自行添加到安装目录下

haproxy.cfg    (文件名)

[root@localhost haproxy-1.7.8]# cd /usr/local/haproxy/
[root@localhost haproxy]# ls
doc  sbin  share
[root@localhost haproxy]# vim haproxy.cfg

1.编辑配置文件

更改IP地址

global
  #日志
  log 127.0.0.1 local0 info
  #最大连接数
  maxconn 10240
  daemon

defaults
  #应用全局的日志配置
  log global
  mode http
  #超时配置
  timeout connect 5000
  timeout client 5000
  timeout server 5000
  timeout check 2000

listen http_front #haproxy的客户页面
  bind 192.168.2.212:8888         #HAProxy自己的IP地址
  mode http
  option httplog
  stats uri /haproxy
  stats auth admin:123456          #控制面板账号密码 账号:admin 
  stats refresh 5s
  stats enable

#轮询部分
listen webcluster 
       bind 0.0.0.0:80     #这不用管,要打也只能打自己的IP
       option httpchk GET /index.html
       balance roundrobin  # 负载均衡模式轮询
       server inst1 192.168.2.195:80 check inter 2000 fall 3  
       server inst2 192.168.2.206:80 check inter 2000 fall 3

2.启动服务

用安装包解压后目录里面的haproxy 启动安装目录的haproxy.cfg

如果更改后执行失败,可以将轮询部分删掉,安装好Nginx之后再添加进去,再执行

/haproxy-1.7.8/haproxy -f /usr/local/haproxy/haproxy.cfg

3.验证

[root@localhost /]# lsof -i:8888
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
haproxy 4092 root    3u  IPv4  48646      0t0  TCP localhost.localdomain:ddi-tcp-1 (LISTEN)

4.访问控制面板

http://192.168.2.212:8888/haproxy

贰,Nginx 安装部署 

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 Nginx

sudo yum install -y nginx

启动Nginx和开机自启 

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

 yum安装nginx网站文件存放默认目录 可以修改index.html文件访问看看,那个50x.html文件不用管

cd /usr/share/nginx/html

测试:给每个Nginx服务器的网页原文件内容删除,添加自己的ip进行测试 

[root@localhost ~]# cd /usr/share/nginx/html
[root@localhost html]# vim index.html
<h1>oyddbc 192.168.2.195</h1>

刷新会访问另一个就是轮询的作用,一直点一直刷一直爽 

 

叄,nfs共享储存

安装nfs软件包

[root@localhost /]# yum install -y rpcbind nfs-utils

创建共享目录文件并添加权限 

[root@localhost /]# mkdir /oyddbc
[root@localhost /]# chmod -R 777 /oyddbc
[root@localhost /]# vim /oyddbc/index.html
<h1>oyddbaic</h1>

 修改nfs配置文件,共享给nginx服务器

[root@localhost /]# vim /etc/exports
/oyddbc/ 192.168.2.195(rw,no_root_squash,no_all_squash,sync)
/oyddbc/ 192.168.2.206(rw,no_root_squash,no_all_squash,sync)

保存并生效配置文件 

exportfs -r

 启动rpcbind和nfs服务 ,按顺序启动

[root@localhost /]# systemctl start rpcbind
[root@localhost /]# systemctl start nfs

 查看连接

[root@localhost /]# showmount -e localhost
Export list for localhost:
/oyddbc 192.168.2.206,192.168.2.195

挂载 (出现这种都是正常的)

[root@localhost /]# mount localhost:/oyddbc /mnt
mount.nfs: access denied by server while mounting localhost:/oyddbc

 注意,注意在两台nginx敲这个,将共享目录挂载到nginx默认使用的网页目录下

mount -t nfs 192.168.2.215:/oyddbc /usr/share/nginx/html

取消挂载 

umount /usr/share/nginx/html

 重新进入html目录查看共享情况 (要退出才能刷新)

[root@localhost html]# ls
50x.html  index.html
[root@localhost html]# cd /
[root@localhost /]# cd /usr/share/nginx/html/
[root@localhost html]# ls
index.html

 去访问HAProxy,是否是nfs服务器共享的index.html,访问会切换目录不变(直接打HAPorxy的IP地址访问)

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值