Centos7部署Haproxy+Nginx+nfs服务

目录

前言

环境介绍

一、关闭防火墙

二、编译安装Nginx

测试

 三、安装Haproxy服务

测试 

四、部署NFS

五、将共享目录挂载到Nginx主机里

测试 



前言

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

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服。

NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主机的共享目录到本地,就像操作本地磁盘一样,非常方便的操作远程文件。

本次实验使用到四台服务器,一台服务器安装haproxy实现调度,另两台服务器搭建nginx提供web服务,一台服务器部署NFS服务用来共享文件给nginx服务器。

环境介绍

主机 系统 IP 服务
Haproxy Centos7 192.168.114.151 haproxy
Nginx1 Centos7 192.168.114.150 nginx
Nginx2 Centos7 192.168.114.149 nginx
NFS Centos7 192.168.114.153 nfs

一、关闭防火墙

注意:四台主机都需要关闭防火墙

systemctl stop firewalld        #关闭防火墙
systemctl disable firewalld        #开机不自启

二、编译安装Nginx

注意:1-7步骤的代码在Nginx1、Nginx2主机里各操作一遍

1.安装Nginx 编译所需所有依赖项 

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

2.下载我们需要编译的源代码

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

3.下载完毕后我们需要解压它

tar -zxvf nginx-1.17.6.tar.gz

4.进入nginx-1.17.6文件夹

cd nginx-1.17.6/

5.选择安装的模块

./configure --prefix=/software/nginx

6.执行编译指令,输入以下命令

make && make install

7.启动nginx服务 

cd /software/nginx/sbin/
./nginx

主机Nginx1

修改web

echo "Web 1" > /software/nginx/html/index.html

主机Nginx2

echo "Web 2" > /software/nginx/html/index.html

测试

使用浏览器访问Nginx1主机的IP

Centos7部署Haproxy+Nginx+nfs服务_第1张图片

 使用浏览器访问Nginx2主机的IP

Centos7部署Haproxy+Nginx+nfs服务_第2张图片

 三、安装Haproxy服务

注意:在Haproxy主机里安装haproxy服务

1.使用yum安装haproxy服务

yum install haproxy -y

2.修改haproxy服务的配置文件

vim /etc/haproxy/haproxy.cfg

将配置文件里面的内容删掉,并将下面的内容添加进去即可

注意:以下内容中有些IP地址需要更改为Nginx1、Nginx2主机的IP地址

global
        log /dev/log    local0 info
        log /dev/log    local0 notice
        #log loghost    local0 info
        maxconn 4096
        #chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen  webserver 0.0.0.0:80
        option httpchk GET /index.html
        balance roundrobin
        server  inst1   192.168.114.150:80 check inter 2000 fall 3
                        #以上IP地址需要更改为主机Nginx1的IP地址
        server  inst2   192.168.114.149:80 check inter 2000 fall 3
                        #以上IP地址需要更改为主机Nginx2的IP地址

listen admin_stats
        stats   enable
        bind    *:8080    #监听的ip端口号 
        mode    http    #开关 
        option  httplog
        log     global
        maxconn 10
        stats   refresh 5s   #统计页面自动刷新时间 
        stats   uri /admin    #访问的uri ip:8080/admin
        stats   realm haproxy
        stats   auth admin:admin  #认证用户名和密码 
        stats   hide-version   #隐藏HAProxy的版本号 
        stats   admin if TRUE   #管理界面,如果认证成功了,可通过webui管理节点

 启动服务并设置开机自启

systemctl start haproxy
systemctl disable haproxy

测试 

使用浏览器访问Haproxy主机IP

Centos7部署Haproxy+Nginx+nfs服务_第3张图片

刷新一下

Centos7部署Haproxy+Nginx+nfs服务_第4张图片

 如果每刷新一下页面都会出现两个不懂得界面,那么Haproxy反向代理就做成功了

查看监控情况

提示:登录监控页面的账号和密码都是admin

Centos7部署Haproxy+Nginx+nfs服务_第5张图片

 

四、部署NFS

注意:以下代码在NFS主机里操作

1.使用yum安装nfs服务

yum -y install rpcbind nfs-utils

2.创建要共享的文件夹并设置权限

mkdir /html
chmod 755 -R /html/

3.在nfs的配置文件/etc/exports添加内容

echo "/html 192.168.114.0/24(rw,no_root_squash,no_all_squash,sync)" >> /etc/exports

上面这行代码是将共享目录/html共享给192.168.114.0/24这个网段的客户端,后面括号里的内容是权限参数

4.启动服务并设置开机自启

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind 
systemctl enable nfs

5.需要执行以下命令使配置文件/etc/exports立即生效

exportfs -r

6.使用 showmount 命令来查看本机是否可连接

showmount -e 192.168.114.153

  

7.在共享目录/html创建文件index.html并添加内容进去

touch /html/index.html
echo "nfs" > index.html

五、将共享目录挂载到Nginx主机里

注意:以下代码在Nginx1、Nginx2主机里各操作一遍

1.安装rpcbind服务并启动

yum -y install rpcbind
systemctl start rpcbind

2.查看服务端已共享的目录

showmount -e 192.168.114.153

 

 

3.建立挂载目录,执行挂载命令

mkdir -p /mnt/html
mount -t nfs 192.168.114.153:/html /mnt/html/

4.修改nginx服务的配置文件/software/nginx/html/index.html

vim /software/nginx/html/index.html

 将

Centos7部署Haproxy+Nginx+nfs服务_第6张图片

 修改为

Centos7部署Haproxy+Nginx+nfs服务_第7张图片

 5.重载nginx服务的配置文件

/software/nginx/sbin/nginx  -s reload

测试 

用浏览器访问haproxy服务器的IP地址,怎么刷新页面都是nfs就实现了

Centos7部署Haproxy+Nginx+nfs服务_第8张图片

 

你可能感兴趣的:(nginx,haproxy,nfs,centos,服务器)