centos7部署nginx+haproyx+nfs

Posted 三谷.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7部署nginx+haproyx+nfs相关的知识,希望对你有一定的参考价值。

实验环境如下:

准备4台centos 7虚拟机

两台做nginx,一台做haproxy,一台做nfs。

硬件需求
centos7服务器nginx192.168.100.149
centos7服务器nginx192.168.100.153
centos7服务器haproxy192.168.100.154
centos7服务器nfs192.168.100.155

实验环境,请先关闭4台centos 7的防火墙再执行下一步操作

systemctl stop firewalld.service    #停止防火墙服务
systemctl disable firewalld.service  #开机不自启动防火墙服务

两台安装部署nginx:

yum -y install  gcc gcc-c++ autoconf automake libtool make openssl openssl-devel pcre pcre-devel   依赖包安装

cd  /usr/local/src/     切换安装路径


wget  http://nginx.org/download/nginx-1.8.1.tar.gz    下载nginx,如果提示没有wget请自行安装  yum -y install wget


 tar -zxvf nginx-1.8.1.tar.gz   解压安装包



cd  nginx-1.8.1         打开解压出来的目录


./configure \\
--prefix=/usr/local/nginx \\--with-http_ssl_module \\
--with-http_flv_module \\
--with-http_stub_status_module \\
--with-http_gzip_static_module \\
--with-pcre     编译命令

make && make install  安装

开启nginx服务:

# 进入生成目录
cd  /usr/local/nginx
# 测试
/usr/local/nginx/sbin/nginx -t
# 查看编译模块信息
/usr/local/nginx/sbin/nginx -V
# 启动
/usr/local/nginx/sbin/nginx
# 重新载入配置文件
/usr/local/nginx/sbin/nginx  -s reload
# 重启
/usr/local/nginx/sbin/nginx  -s reopen
# 停止
/usr/local/nginx/sbin/nginx  -s stop

在浏览器上测试192.168.100.149/192.168.100.153/:

 如果要更改nginx显示内容:

cd /usr/local/nginx/   进入安装路径
cd html   进入html

更改vim配置文件:

vim index.html

一台安装部署haproxy:

yum install haproxy -y

修改vim配置文件:

vi /etc/haproxy/haproxy.cfg  

#设定转发的后台服务器地址并开启对后台服务器的健康检查
 backend app
    balance     roundrobin
    server  app1 192.168.100.149:80 check          #nginx ip
    server  app1 192.168.100.153:80 check          #nginx ip 
    #前端设置
frontend main
    #绑定80端口进行负载均衡 访问就不需要加端口号
    bind *:80
 
#设定监控平台
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 

 配置rsyslog:

vi /etc/rsyslog.conf
#配置使用udp协议
module(load="imudp")
input(type="imudp" port="514")
#设定haproxy日志
local2.*                                                /var/log/haproxy.log

#重启服务
systemctl restart rsyslog

开启haproxy服务:

systemctl start haproxy
#查看启动情况
netstat -tnlp |grep haproxy

在浏览器上测试192.168.100.154/:

 一台安装部署nfs:

yum install -y rpc-bind nfs-utils      安装rpc-bind nfs-utils

创建共享文件夹:

mkdir /xxx                 #xxx自己取名字
chmod -R 777 /xxx          #提权成777
 
touch /xxx/index.html 
vim /xxx/index.html        #打开后是一个空文档,需要自己编辑内容
 sgl yyqx                  #编辑内容(我自己编辑的,可以换成你自己喜欢的)

修改nfs服务配置文件:

vim /etc/exports           #打开之后是一个空文件,需要自己编辑
                            
/xxx *(rw,sync)            #xxx换成之前创建文件的名字

启动nfs服务:

systemctl start rpcbind
systemctl start nfs
 
修改好文件后执行以下命令使配置立即生效:
exportfs -r

查看服务是否连接:

showmount -e localhost
#显示内容为:

Export list for localhost:
/xxx *

挂载:

mount   localhost:/xxx   /mnt

再继续配置两台nginx服务:

在两台Nginx服务器敲 
mount -v -t nfs 192.168.100.153:/xxx /usr/local/nginx/html/ 
 
#ip是nfs的ip 将服务端的共享目录挂载到本机的 /usr/local/nginx/html/目录上
#两台都要敲

Nginx配置完毕访问/usr/local/nginx/html/目录就相当于访问nfs的/xxx/index.html

无论怎么刷新访问的都是/xxx下的index.html

以上是关于centos7部署nginx+haproyx+nfs的主要内容,如果未能解决你的问题,请参考以下文章

centos7+nginx + php 部署多站点

基于Centos7.2的nginx部署

centos7 下 安装部署nginx

Centos7搭建部署Nginx+Haproxy+NFS

nginx安装部署--centos7

CentOS7 服务器部署服务(nginx, Docker, MySQL, Joplin)