Nginx反向代理负载均衡实践

yang-pig| 阅读:1007 发表时间:2018-01-19 19:14:46 Linux

Nginx负载均衡器的优点:

实现看弹性化操作的架构,压力增大的时候可以临时添加后端Web服务器;

upstream具有负载均衡能力(默认使用轮询),可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器;

安装环境:

VM虚拟机

三台centos6.5

1、一台nginx

2、2台web服务器

IP地址

nginx_main:192.168.222.130

real_web1:192.168.222.134

real_web2:192.168.222.135

所需的软件

nginx-1.6.3.tar.gz

zlib-1.2.11.tar.gz (nginx需要)

prce-8.38.tar.gz(nginx需要)

httpd (web服务器apache)


1.jpg

开始安装配

1:、安装必须的包:

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

2、安装Nginx:

安装nginx所需的包pcre

  wget http://exim.mirror.fr/pcre/pcre-8.38.tar.gz

  tar -zxvf pcre-8.38.tar.gz

  cd pcre-8.38

  ./configure

  make && make install

安装nginx所需的包zlib

 wget http://zlib.net/zlib-1.2.11.tar.gz

 tar -zxvf zlib-1.2.11.tar.gz

 cd zlib-1.2.11

 ./configure

 make && make install

添加虚拟用户

useradd -s /sbin/nologin -M nginx

新建一目录,用于安装nginx

mkdir /application

下载编译安装nginx

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

tar -zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3/

./configure --prefix=/application/nginx-1.6.3 \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

make && make install

创建软链接

ln -s /application/nginx-1.6.3 /application/nginx

ls -l /application/

企业微信截图_15163533906879.png

启动nginx查看nginx

/application/nginx/sbin/nginx

ps -ef|grep nginx

企业微信截图_15163551004472.png

企业微信截图_15163550538762.png

停掉nginx

/application/nginx/sbin/nginx -s stop

重启nginx

/application/nginx/sbin/nginx -s reload

安装web服务器(2台操作相同)

yum -y install httpd

启动apache

/etc/init.d/httpd start

输入文本到服务器目录(2台服务器分别操作)

echo "<h1>192.168.222.135</h1>" > /var/www/html/index.html

echo "<h1>192.168.222.134</h1>" > /var/www/html/index.html

重启apache

/etc/init.d/httpd restart

企业微信截图_15163561127110.png

企业微信截图_15163561241104.png

编辑nginx.conf配置文件

vi /application/nginx/conf/nginx.conf

cd /application/nginx/conf/

mkdir extra
worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    include extra/upstream01.conf;

}

编辑upstream01.conf配置文件

vi extra/upstream01.conf
    upstream backend {
        server 192.168.222.134;
        server 192.168.222.135;
    }
    server {
        listen      80;
        server_name  192.168.222.130;
        location / {
            proxy_pass http://backend;
        }
    }

检测配置文件


/application/nginx/sbin/nginx -t

企业微信截图_15163565197951.png

重启nginx

/application/nginx/sbin/nginx -s reload

查看负载均衡效果

录制_2018_01_19_16_47_39_812.gif