资讯专栏INFORMATION COLUMN

Centos7搭建haproxy+nginx+nfs

golden_hamster / 2280人阅读

摘要:负载均衡负载均衡也是的一个高频使用场景,对于下游存在的多个相同服务,可以将请求采用某种策略随机轮询权重发到相应的服务处理。

HAProxy简介

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

nginx简介

Nginx 的使用场景如下:

HTTP 服务器

Nginx 作为 Web 服务器能独立提供 Http 服务。另外,我们常常通过 Nginx 作为静态资源服务器来访问服务器上的静态资源,比如对于最新热门的前后端分离架构,前端打好包后直接放到某个地址,在 Nginx 配置后可以通过 Nginx 来访问主机上的前端页面。

反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。这样的好处是,将不暴露内部的服务地址,只统一使用一个公共出口,通过 URI 匹配转发到不同的内部服务处理请求。

负载均衡

负载均衡也是 Nginx 的一个高频使用场景,对于下游存在的多个相同服务,可以将请求采用某种策略(随机、轮询、权重)发到相应的服务处理。这样由于多个相同服务的存在,可以实现高可用功能,在一个服务不可用时,Nginx 会自动发现并将其剔出服务集群,将请求转发给正常的服务进行处理。

nfs简介

网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然 NFS 不是第一个此类系统,但是它已经发展并演变成 UNIX系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。

环境介绍:

本实验使用4台服务器,一台服务器安装Haproxy实现调度,另外两台服务器搭建nginx提供web服务,最后一台服务器部署nfs共享存储。

主机系统IP地址功能
Haproxycentos7192.168.160.201调度
nginxcentos7192.168.160.202提供web服务
nginxcentos7192.168.160.203提供web服务
nfs(共享存储)centos7192.168.160.204共享存储

安装nginx

1.两台nginx节点安装并启动。

2.yum安装所需库文件,新建管理nginx用户

1.yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.useradd -M -s /sbin/nologin nginx

3.解压文件并进行基本配置

1. cd /opt

2. tar zxvf  nginx-1.8.1.tar.gz

3. cd nginx-1.8.1

4. ./configure /

     --prefix=/usr/local/nginx / --user=nginx / --group=nginx

4.编译安装 

1.make && make install

5.创建测试主页,创建软件接进行使用。

1.cd /usr/local/nginx/html/

2. echo "this is xf web" > test.html

3.ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

6.启动nginx,使用netstat -antp | grep 80查看是否开启

7.第二台nginx节点是一样的配置,自行配置安装。

使用浏览器访问nginx是否开启成功。

 

 

 安装Haproxy

1.下载包

这里提供所需安装包链接,找到自己需要的安装包,我这里使用的是haproxy-1.7.8.tar.gz

Index of /repo/pkgs/haproxy (fedoraproject.org)

2.将haproxy-1.7.8.tar.gz拷贝到/opt目录下,并解压缩:

1.yum -y install pcre-devel bzip2-devel gcc gcc-c++ make

2.  tar zxvf haproxy-1.7.8.tar.gz

3.进入目录 ,编译成可执行文件。

将源代码解压之后,需要运行make来将HAProxy编译成为可执行文件。如果是在Linux2.6系统上面进行编译的话,需要设置TARGET=linux26以开启epoll支持,这也是为什么网上许多博客里面都是这么写的。对于其他的UNIX系统来说,直接采用TARGET=generic方式,本文进行安装的系统为CentOS7 ,内核3.10版本。

1.  cd haproxy-1.7.8

2.  make TARGET=linux26

3. make install

4.创建配置文件目录,修改配置文件。

1.mkdir /etc/haproxy2.vim /etc/haproxy/haproxy.cfgglobal    log 127.0.0.1 local0   #日志        maxconn 1000 # 最大连接数        daemon defaults        log     global # 采用全局定义的日志        mode    http # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK        option  httplog # 日志类型为http日志        option  dontlognull # 不记录健康检查的日志信息        retries 3   # 3次连接失败就认为服务不可用,也可以在下面设置        timeout connect 5000   # 连接超时时间        timeout client  50000   # 客户端连接超时时间        timeout server 50000    # 服务器连接超时时间 listen admin_stats        bind 0.0.0.0:1080   # 监听端口        mode http           option httplog        maxconn 10        stats refresh 30s  # 统计页面刷新时间        stats uri /stats  # 统计页面url        stats realm XingCloud/ Haproxy   # 统计页面密码框的提示文本        stats auth admin:admin   # 统计页面的验证信息        stats auth  Frank:Frank          stats hide-version        stats  admin if TRUElisten webcluster        bind 0.0.0.0:80       option httpchk GET /index.html       balance roundrobin  # 负载均衡模式轮询       server inst1 192.168.160.202:80 check inter 2000 fall 3         server inst2 192.168.160.203:80 check inter 2000 fall 3

5.创建haproxy自启动脚本,添加到service管理,开启自启

1. cp /opt/haproxy-1.7.8/examples/haproxy.init /etc/init.d/haproxy

2. chmod +x /etc/init.d/haproxy

3. chkconfig --add /etc/init.d/haproxy

4. ln -s /usr/local/sbin/haproxy /usr/sbin

6.启动haproxy,使用80端口进行监听。

1. service haproxy start

2.netstat -anpt | grep haproxy                                            #查看端口是否打开

 7.使用浏览器访问haproxy查看是否轮询成功,刷新页面显示轮询成功。

  

 部署NFS

关闭防火墙:systemctl  stop  firewalld.servive

关闭selinux: setenforce  0

1.服务器安装NFS软件

1.yum -y install  nfs-utils

 2.编辑文件参数

1. vi  /etc/exports

/backup 192.168.160.202(rw,sync,no_root_squash)/backup 192.168.160.203(rw,sync,no_root_squash)

3.新建共享目录并修改权限

1.mkdir  /backip

2.chmod -R 777 /backup/

4.启动服务

1. systemctl  status rpcbind.service

2.systemctl  status nfs.service.service

5.加载配置文件  exportfs -r    查看   exportfs   -v

6.在nginx服务器上装nfs

1. yum -y install nfs-utils2.mkdir /nfs3.cd /nfs4.showmount -e 192.168.160.2065.mount -t nfs 192.168.160.206:/backup /nfs6.df  -h 

挂载成功

 

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124461.html

相关文章

  • centos7搭建haproxy-confd-etcd-tomcat

    摘要:打开配置文件将设为关闭防火墙。通过查询,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动。打开文件在末尾添加一行其中为存储机,为监听的端口。二在存储机中安装安装设置开机启动。 第一部分 测试环境一、 简要信息操作系统: 版本 CentOS 7.2.1511 内核 3.10.0-327.36.2.el7.x86_64角色 IP ...

    BigTomato 评论0 收藏0
  • CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAPro

    摘要:在默认情况下,会将其请求的后端服务器的插入中,以保证会话的持久性。 照片参考:https://blog.csdn.net/weixin_... Haproxy配置 永久修改名字:便于区分虚拟机!Haproxy:hostnamectl set-hostname haproxyWeb1: hostnamectl set-hostname WEB1Web2:hostnamectl set-h...

    fish 评论0 收藏0
  • CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAPro

    摘要:在默认情况下,会将其请求的后端服务器的插入中,以保证会话的持久性。照片参考:https://blog.csdn.net/weixin_... Haproxy配置 永久修改名字:便于区分虚拟机!Haproxy:hostnamectl set-hostname haproxyWeb1: hostnamectl set-hostname WEB1Web2:hostnamectl set-hostn...

    zhisheng 评论0 收藏0
  • CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAPro

    摘要:在默认情况下,会将其请求的后端服务器的插入中,以保证会话的持久性。 照片参考:https://blog.csdn.net/weixin_... Haproxy配置 永久修改名字:便于区分虚拟机!Haproxy:hostnamectl set-hostname haproxyWeb1: hostnamectl set-hostname WEB1Web2:hostnamectl set-h...

    sshe 评论0 收藏0
  • Kubernetes的几种主流部署方式02-kubeadm部署1.14版本高可用集群

    摘要:所以,选择把运行直接运行在宿主机中,使用容器部署其他组件。独立部署方式所需机器资源多按照集群的奇数原则,这种拓扑的集群关控制平面最少就要台宿主机了。 在上篇文章minikube部署中,有提到Minikube部署Kubernetes的核心就是Kubeadm,这篇文章来详细说明下Kubeadm原理及部署步骤。写这篇文章的时候,Kubernetes1.14刚刚发布,所以部署步骤以1.14版为...

    atinosun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<