Linux部署haproxy+nginx+nfs (centos7)

目录

理论:

1.HAProxy 

2.Nginx

3.nfs

实验环境

主机关闭防火墙和修改selinux

Haproxy部署

1.安装haproxy

2.修改配置文件vi /etc/haproxy/haproxy.cfg 

3.配置rsyslog

4.启动服务 

安装两台Nginx

1.安装依赖包

2. 下载Nginx-1.8.1.tar.gz

3.编译Nginx

4.安装及常用命令 

nfs部署

1.安装rpc-bind nfs-utils

2.创建共享的文件夹 

3.修改NFS服务的主配置文件 

4.启动服务

5.使用 showmount 命令来查看服务端是否可连接:

6.挂载

7.Nginx配置


理论:

1.HAProxy 

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

HAProxy实现了一种事件驱动单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

2.Nginx

       Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等,并且cpu、内存等资源消耗却非常低,运行非常稳定。

3.nfs

      NFS (Network File System)即网络文件系统,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。当用户希望使用远程文件时,只要用“mount”命令就可以把远程文件系统挂在自己的文件系统之下,使远程的文件像本地计算机上的文件—样可以被访问。

实验环境

             ip                  主机                需要的安装包
 192.168.100.181                   haproxy             haproxy
 192.168.100.182                Nginx       nginx-1.8.1.tar.gz
 192.168.100.183                 Nginx       nginx-1.8.1.tar.gz
 192.168.100.184                  nfs        rpc-bind nfs-utils

主机关闭防火墙和修改selinux

systemctl stop firewalld
setenforce 0

Haproxy部署

1.安装haproxy

yum install haproxy -y

2.修改配置文件vi /etc/haproxy/haproxy.cfg 

 #设定转发的后台服务器地址并开启对后台服务器的健康检查
 backend app
    balance     roundrobin
    server  app1 192.168.100.182:80 check  #nginx ip
    server  app1 192.168.100.183: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 

3.配置rsyslog

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

#重启服务
[root@proxyserver ~]# systemctl restart rsyslog

4.启动服务 

[root@haproxy ~]# systemctl start haproxy
#查看启动情况
[root@haproxy ~]# netstat -tnlp |grep haproxy
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3257/haproxy        
tcp        0      0 0.0.0.0:80            0.0.0.0:*               LISTEN      3257/haproxy  

使用192.168.100.181:8080/admin 登录监控页面 
账户和密码都是admin       

安装好Nginx后用192.168.100.181 访问的则是两台Nginx的页面

 Linux部署haproxy+nginx+nfs (centos7)_第1张图片


安装两台Nginx

1.安装依赖包

yum -y install  gcc gcc-c++ autoconf automake libtool make openssl openssl-devel pcre pcre-devel

2. 下载Nginx-1.8.1.tar.gz

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  #解压安装包

3.编译Nginx

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     编译命令

4.安装及常用命令 

make && make install  #安装


/usr/local/nginx/sbin/nginx  #启动
/usr/local/nginx/sbin/nginx  -s reload  #重新载入配置文件
/usr/local/nginx/sbin/nginx  -s reopen  #重启

 Linux部署haproxy+nginx+nfs (centos7)_第2张图片


nfs部署

1.安装rpc-bind nfs-utils

yum install -y rpc-bind nfs-utils

2.创建共享的文件夹 

mkdir /xxx
chmod -R 777 /xxx #提权成777

touch /xxx/index.html 
vim /xxx/index.html
web777

3.修改NFS服务的主配置文件 

vim /etc/exports
#添加如下规则
/xxx *(rw,sync)  

4.启动服务

systemctl start rpcbind
systemctl start nfs

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

5.使用 showmount 命令来查看服务端是否可连接:

[root@localhost xxx]# showmount -e localhost
Export list for localhost:
/xxx *

6.挂载

mount   localhost:/xxx   /mnt

7.Nginx配置

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

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

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

Linux部署haproxy+nginx+nfs (centos7)_第3张图片

你可能感兴趣的:(linux,nginx,服务器)