Centos7搭建haproxy+nginx+nfs

云惠网小编 2021年11月23日13:18:45
评论
3801字阅读12分40秒
摘要

HAProxy简介HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单

广告也精彩

关闭selinux: setenforce  0

1.下载包

Nginx 的使用场景如下:

1. service haproxy start

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

nginx简介

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

1.服务器安装NFS软件

1.  cd haproxy-1.7.8

2.  make TARGET=linux26

3. make install

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

 安装Haproxy

1.yum -y install  nfs-utils

反向代理

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

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

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

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

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

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

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

安装nginx

 

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

HAProxy简介

挂载成功

1.mkdir  /backip

2.chmod -R 777 /backup/

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

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

1. yum -y install nfs-utils
2.mkdir /nfs
3.cd /nfs
4.showmount -e 192.168.160.206
5.mount -t nfs 192.168.160.206:/backup /nfs
6.df  -h 

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

 

1. systemctl  status rpcbind.service

2.systemctl  status nfs.service.service

 部署NFS

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

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

主机 系统 IP地址 功能
Haproxy centos7 192.168.160.201 调度
nginx centos7 192.168.160.202 提供web服务
nginx centos7 192.168.160.203 提供web服务
nfs(共享存储) centos7 192.168.160.204 共享存储

6.在nginx服务器上装nfs

 

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

环境介绍:

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

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

1.make && make install

1.mkdir /etc/haproxy
2.vim /etc/haproxy/haproxy.cfg
global
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 TRUE
listen 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

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

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

1. vi  /etc/exports

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

 2.编辑文件参数

HTTP 服务器

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

关闭防火墙:systemctl  stop  firewalld.servive

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

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

负载均衡

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

nfs简介

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

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

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

4.启动服务

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

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

2.  tar zxvf haproxy-1.7.8.tar.gz

4.编译安装 

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

 

  

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

本文转自 https://blog.csdn.net/qq_50064393/article/details/121406627

腾讯云618
云惠网小编
cgb2110-day06 java

cgb2110-day06

文章目录一,模拟用户登录过程--1,需求--2,测试--3,程序优化二,SQL攻击/注入--1,概述--2,解决方案--3,修改代码--4,两种传输器的区别三,练习新的传输器--1...
JAVA 初级程序员常见问题分析 java

JAVA 初级程序员常见问题分析

1、怎么样可以尽快拿到offer?针对心仪的企业、岗位进行调查。可以上招聘网站看看其岗位要求,以及企业的面试题。然后针对性的学习其要求的技术。这样有针对性的准备,投其所好,就可更快...
关于数据库学习的一些知识盲区 java

关于数据库学习的一些知识盲区

一.SQL拼接方法的安全风险 1. SQL注入问题(SQL Inject),使用字符串拼接构造SQL就会引起SQL注入。 2. SQL注入是存在安全风险的 3. 例如:在图书管理系...
szu-exp 安卓开发实验3我的校园 java

szu-exp 安卓开发实验3我的校园

发扬开源精神... 给个赞吧giegiejiejie们 实验目的与要求: 目的:掌握安卓中活动的编写、自定义用户界面的开发、碎片开发、广播机制以及数据持久化技术等;并能通过对课堂知...
腾讯云618

发表评论