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
访问第二台nginx,查看显示内容是否是text 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。
浏览器访问HAProxy服务器的监控情况
浏览器输入:HAProxy服务器ip地址:8080/admin
搭建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查看是否挂载成功并且刷新后内容不变