Centos7安装配置HAProxy+Nginx+nfs

Centos7安装配置HAProxy+Nginx+nfs

  • 实验环境
  • 安装Nginx
    • 第一步:关闭SElinux开启防火墙80端口
    • 第二步:下载Nginx的压缩包
    • 第三步:安装Nginx所需要的环境
    • 第四步:解压Nginx的压缩包
    • 第五步:配置Nginx
    • 第六步:编译安装Nginx
    • 第七步:更改Nginx服务器的web文件
  • 安装Haproxy
    • 关闭SElinux,开启防火墙80,8080端口。
  • 配置Haproxy
  • 搭建NFS
  • 验证

实验环境

Centos 7 HAProxy 192.168.141. 160
Centos 7 Nginx 192.168.141.161
Centos 7 Nginx 192.168.141.162
Centos 7 nfs 192.168.141.163

安装Nginx

第一步:关闭SElinux开启防火墙80端口

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

第二步:下载Nginx的压缩包

wget http://nginx.org/download/nginx-1.17.6.tar.gz -P /usr/local/

第三步:安装Nginx所需要的环境

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

第四步:解压Nginx的压缩包

cd /usr/local
tar -zxvf nginx-1.17.6.tar.gz

第五步:配置Nginx

cd /usr/local/nginx-1.17.6/
./configure --prefix=/usr/local/nginx

第六步:编译安装Nginx

make && make install

第七步:更改Nginx服务器的web文件

修改index.html文件

vim /usr/local/nginx/html/index.html

修改内容如下所示

#第一台nginx删除原有内容写入下方内容
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Nginx1</title>
	</head>
	<body>
	<h1>text 1</h1>
	</body>
</html>
#第一台nginx删除原有内容写入下方内容
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Nginx2</title>
	</head>
	<body>
	<h1>text 2</h1>
	</body>
</html>

重启Nginx的配置文件

/usr/local/nginx/sbin/nginx  -s reload

访问第一台nginx,查看显示内容是否是text 1
Centos7安装配置HAProxy+Nginx+nfs_第1张图片
访问第二台nginx,查看显示内容是否是text 2
Centos7安装配置HAProxy+Nginx+nfs_第2张图片

安装Haproxy

关闭SElinux,开启防火墙80,8080端口。

setenforce 0
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

使用yum安装Haproxy,指令如下所示

yum install haproxy -y

配置Haproxy

HAProxy配置文件说明
Global:
用于设置全局配置参数,属于进程级的配置,通常用操作系统配置相关

defaults:
默认参数的配置部分。在些部分设置的参数,默认会自动引用到下面的
frontend, backend和listen部分

frontend:
用于设置接收用户请求的前端虚拟节点。

backend:
用于设置集群后端服务集群的配置,以处理前端用户的请求。

修改HAProxy的配置文件
进入vim /etc/haproxy/haproxy.cfg

#修改以下参数
#以下参数在63行
frontend  main *:80	#把5000改为80

#以下参数在80~84行
backend app
    balance     roundrobin
    server  app1 192.168.141.169:80 check	#ip地址和端口号改为Nginx服务器的ip和端口。
    server  app2 192.168.141.179:80 check	#ip地址和端口号改为Nginx服务器的ip和端口。
    
#添加以下参数
listen admin_stats
        stats   enable
        bind    *:8080    
        mode    http    
        option  httplog
        log     global
        maxconn 10
        stats   refresh 30s   
        stats   uri /admin   
        stats   realm haproxy
        stats   auth admin:admin  
        stats   hide-version   
        stats   admin if TRUE

修改完配置后保存退出,重新启动HAProxy的服务,指令如下所示

systemctl restart haproxy.service
netstat -tnlp |grep haproxy
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      13395/haproxy       
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      13395/haproxy 

浏览器访问HAProxy服务器的ip地址查看是否搭建成功,并且刷新一下网页是否能跳转到另一台Nginx。
Centos7安装配置HAProxy+Nginx+nfs_第3张图片
Centos7安装配置HAProxy+Nginx+nfs_第4张图片

浏览器访问HAProxy服务器的监控情况
浏览器输入:HAProxy服务器ip地址:8080/admin
Centos7安装配置HAProxy+Nginx+nfs_第5张图片

搭建NFS

使用yum安装nfs

yum install -y rpc-bind nfs-utils

在NFS服务端上创建共享目录/data/nfs并设置权限

mkdir -p /data/nfs
chmod 666 /data/nfs

修改NFS服务的主配置文件

vim /etc/exports
/data/nfs *(rw,sync) #*表示允许所有主机访问

配置生效

exportfs -r

启动NFS和rpcbind

systemctl start rpcbind
systemctl start nfs

创建index.html文件

mkdir /data/nfs/html/ && touch /data/nfs/html/index.html
echo "OLsJO" >/data/nfs/html/index.html

查看NFS服务器共享的文件

[root@nfs ~]# showmount -e 192.168.141.163	#此处ip地址是nfs服务器的ip地址
Export list for 192.168.141.163:
/data/nfs *

挂载/data/nfs目录

mount   192.168.141.163:/data/nfs/  /mnt

把nfs共享的文件夹挂载到2台Nginx服务器上,指令如下所示

mount -v -t nfs 192.168.141.163:/data/nfs/html /usr/local/nginx/html/

验证

浏览器访问HAProxy服务器的ip查看是否挂载成功并且刷新后内容不变

Centos7安装配置HAProxy+Nginx+nfs_第6张图片

你可能感兴趣的