10分钟搭建Nginx负载均衡

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法。

安装Nginx

Centos7 安装Nginx

第一种方式:通过yum安装

直接通过 yum install nginx 肯定是不行的,因为yum没有nginx,所以首先把 nginx 的源加入 yum 中。

运行下面的命令:
1.将nginx放到yum repro库中

 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

这一段URL地址的拼接是有一定规则的,具体规则在作者的官网有详细介绍,针对不同操作系统的不同版本,传送门点此:Pre-Built Packages for Stable version

2.查看Nginx信息(验证上一步是否成功,可选)

 yum info nginx

3.使用yum安装ngnix

 yum install nginx

效果如下:

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

  • base: mirrors.usc.edu
  • extras: mirror.raystedman.net
  • updates: mirror.metrocast.net
    正在解决依赖关系
    –> 正在检查事务
    —> 软件包 nginx.x86_64.1.1.10.1-1.el7.ngx 将被 安装
    ······
    ······
    正在安装 : 1:nginx-1.10.1-1.el7.ngx.x86_64
    Thanks for using nginx!
    Please find the official documentation for nginx here:
  • http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:

已安装:
nginx.x86_64 1:1.10.1-1.el7.ngx
完毕!

4.启动nginx

针对CentOS7,启动命令应该使用

systemctl start nginx.service

5.Nginx的常用操作
启动:
service nginx start(centos7是systemctl start nginx.service )

重启:

nginx –s reload

停止:

nginx –s stop

测试配置文件是否正常:

nginx –t

配置负载均衡

测试环境

A服务器IP :192.168.18.131 (主)
B服务器IP :192.168.18.132
C服务器IP :192.168.18.133

三台服务器,通过本机的VMware虚拟机进行创建,安装的系统均为Centos 7,Nginx版本一致(如上文)

部署思路
A服务器做为主服务器,域名直接解析到A服务器上,由A服务器负载均衡到B服务器与C服务器上。

nginx.conf设置

A服务器nginx.conf设置

upstream server1 {
      server  192.168.18.132:80 weight=1;
      server  192.168.18.133:80 weight=1;
}

server {
    listen       80;
    server_name  server1;

  location / {
        proxy_pass  http://server1;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

为了突出显示负载服务器切换的效果,我们将两个服务器的weight值都设成一样的,这样在访问时,就能明显看出效果

保存重启 nginx -s reload

分别配置B、C服务器nginx.conf设置

server {
    #server_name的名称可以根据域名或者ip地址进行命名,这里仅做演示
    listen       80;
    server_name  hadoop1;

    #这里是默认Nginx的配置
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

保存重启 nginx -s reload

当然啦,为了演示时,明确区分我们的负载服务器,我们将/usr/share/nginx/html路径下的index.html页面,加入了比较明确的特征,B服务器的改动如下:

<h1>Welcome to nginx2!</h1>

C服务器改动如下:

<h1>Welcome to nginx3!</h1>

实测

访问http://192.168.18.131 刷新界面 可以看到界面内容为Nginx2或者Nginx3

《10分钟搭建Nginx负载均衡》 20170616_103323.gif

结论:

访问http://192.168.18.131 结果,刷新会发现所有的请求均分别被主服务器(192.168.18.131)分配到B服务器(192.168.18.132)与C服务器(192.168.18.133)上,实现了负载均衡效果。

    原文作者:老范被盗
    原文地址: https://www.jianshu.com/p/dbd02a4b0f26
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞