搭建Nginx负载均衡服务文档一

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建Nginx负载均衡服务文档一相关的知识,希望对你有一定的参考价值。

搭建负载均衡服务的实际需求:

1.把单台服务器无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理,减少用户等待响应的时间,提升用户体验。

2.单个重负载的运算分担到多台节点设备上做并行处理,每个节点处理结束后,将结果汇总,返回给用户。

3.7*24小时的服务保证,任意一个或多个有限后面节点设备宕机,不能影响业务。

实现nginx负载均衡需要两个组件:

l  Ngx_http_proxy_module,用于把请求后抛给服务器节点或upstream服务器池;

l  Ngx_http_upstream_module,可以实现网站的负载均衡功能及节点的健康检查。

硬件环境准备:

主机

IP

说明

主负载均衡1

192.168.159.128

Nginx主负载均衡器

主负载均衡2

192.168.159.128

Nginx辅负载均衡器

Web1

192.168.159.130

Web1服务器

Web2

192.168.159.131

Web2服务器

软件环境:

操作系统:CentOS 6.8

虚拟机:VM

Web软件:nginx-1.10.2.tar.gz

终端软件:SecureCRT

操作步骤:

通过终端软件连接4台主机,同时进行批处理操作,在整个实验当中还有一个主负载均衡2还没有实现,下次完成这个子任务。

[[email protected] tools]# yum install openssl openssl-devel pcre pcre-devel -y

[[email protected] tools]# wgethttp://nginx.org/download/nginx-1.10.2.tar.gz

[[email protected] tools]#useradd nginx -s /sbin/nolobin -M

[[email protected] tools]#tar xf nginx-1.10.2.tar.gz

[[email protected] tools]# cd nginx-1.10.2

[[email protected] nginx-1.10.2]#./configure \

--user=nginx \

--group=nginx \

--prefix=/application/nginx-1.10.2\

--with-http_stub_status_module \

--with-http_ssl_module

[[email protected] nginx-1.10.2]#make&& make install

配置Nginx主负载均衡器:192.168.159.128

http {

    include       mime.types;

   default_type application/octet-stream;

  keepalive_timeout  65;

upstream www_server_pools{

        server192.168.159.130:80  weight=1;   #定义130131两个web 节点

        server192.168.159.131:80  weight=1;

   }

      server {  #定义代理的负载均衡域名虚拟主机

       listen   80;

       server_name  http://www.sky9896.com/;

        access_log logs/host.access.log  main;

        location/ {

    proxy_pass http://www_server_pools#请求发送WWW_server_pools里面的节点

    proxy_set_headerHost $host;

    proxy_set_header X-Forwarded-For $remote_addr;

          }

        }

  }

Nginx web1web2的配置相同:192.168.159.130    192.168.159.131

http {

    include       mime.types;

    default_type  application/octet-stream;

  log_format  main  ‘$remote_addr - $remote_user [$time_local]"$request" ‘

                    ‘$status $body_bytes_sent "$http_referer" ‘

                    ‘"$http_user_agent" "$http_x_forwarded_for"‘;

   access_log  logs/access_www.log  main;

  keepalive_timeout  65;

    server {

       listen       80;

      server_name  www.sky9896.com;

        location/ {

           root   html/www;

           index  index.html index.htm;

        }

测试:web1=web2的配置操作是一样的

[[email protected]~]# mkdir  /application/nginx/html/www

[[email protected] html]# ll

drwxr-xr-x. 2 root root  4096 Dec 29 19:31 www

[[email protected] html]# cd www

[[email protected] www]# ll

-rw-r--r--. 1 root root    21 Dec 29 19:31 index.html

[[email protected] www]# cat  index.html  #web1站点

192.168.159.130 www

[[email protected] www]# cat index.html  #web2站点

192.168.159.131 www

[[email protected] html]# /application/nginx/sbin/nginx-t

nginx: the configuration file /application/nginx-1.10.2/conf/nginx.confsyntax is ok

nginx: configuration file /application/nginx-1.10.2/conf/nginx.conftest is successful

[[email protected] html]# /application/nginx/sbin/nginx

[[email protected] www]# vi  /etc/hosts  #做好192.168.159.130本地hosts解析

192.168.159.130  www.sky9896.com

 [[email protected] www]#curl www.sky9896.com   #测试web1

[[email protected] www]# vi  /etc/hosts #做好192.168.159.131本地hosts解析

192.168.159.130 www

192.168.159.131  www.sky9896.com

[[email protected] www]# curl www.sky9896.com   #测试web2

192.168.159.131 www

主负载均衡器:192.168.159.128作为客户端的测试结果如下:

[[email protected] ~]# cat /etc/hosts   #hosts解析

192.168.159.128 www.sky9896.com

[[email protected] ~]# curl  www.sky9896.com

192.168.159.131 www

[[email protected] ~]# curl  www.sky9896.com

192.168.159.130 www

测试小结:

1.如果是关掉任一个web节点,网站业务不受影响,访问请求都会定位到其他的某个节点上。

2.如果所有web节点都宕掉了,此时,会出现如下情况:

[[email protected] ~]# curl  www.sky9896.com

<html>

<head><title>502 BadGateway</title></head>

<body bgcolor="white">

<center><h1>502 BadGateway</h1></center>

<hr><center>nginx/1.10.2</center>

</body>

</html>

 


本文出自 “sky9890” 博客,请务必保留此出处http://sky9896.blog.51cto.com/2330653/1887300

以上是关于搭建Nginx负载均衡服务文档一的主要内容,如果未能解决你的问题,请参考以下文章

搭建负载均衡

使用 Nginx + Tomcat 搭建负载均衡

使用 Nginx + Tomcat 搭建负载均衡

架构之路:nginx与IIS服务器搭建集群实现负载均衡

搭建Nginx+Tomcat 负载均衡集群

LVS DR模式 负载均衡服务搭建