Nginx之负载均衡

条件1:VM虚拟机虚拟两台或以上linux系统 最好centos7.x
条件2:安装了Nginx

本次测试为了更好的贴近新手,新装三台centos7.x

新手安装完成了需执行

yum update
WechatIMG408.jpeg

本次测试组件版本:

[root@localhost lnmp1.5]# nginx -v
nginx version: nginx/1.14.1
[root@localhost lnmp1.5]# php -v
PHP 7.2.6 (cli) (built: Mar 24 2019 17:56:41) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
[root@localhost lnmp1.5]# 

固定服务器IP

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="033024d4-7bb2-4b59-b5b4-6ac6be09d9f5"
DEVICE="enp0s3"
ONBOOT="yes"

BOOTPROTO=static
IPADDR=192.168.2.100
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=114.114.114.114

配置Nginx文件

首先先定义http服务是由两台Ip为101与102的服务器组成,weigh代表权重,这个值越高,访问几率就越大

upstream http{
           server 192.168.2.101:8080 weight=5;  
           server 192.168.2.102:8080 weight=5;
        }

接着定义server下的proxy_pass,告诉Nginx这个反向代理将会转发到http

  location / {
                proxy_pass http://http;  //转向
        }
vim /usr/local/nginx/conf/nginx.conf

upstream http{
           server 192.168.2.101:8080 weight=5;  
           server 192.168.2.102:8080 weight=5;
        }
server
    {
        listen 80 default_server;
        #listen [::]:80 default_server ipv6only=on;
        server_name _;
        #index index.html index.htm index.php;
        #root  /home/wwwroot/default;
        location / {
                proxy_pass http://http;  //转向
        }

继续创建Nginx服务

我在Nginx目录下创建一个vhost的文件夹,该文件夹放置Nginx所有的配置文件,
新增8080端口的服务并定义请求文件根目录是在/home/wwwroot/test.com中

server
    {
        listen 8080;
        #listen [::]:80;
        server_name _;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/test.com;
}

继续创建php文件,好让我们知道请求结果,分别在ip101,102服务器上创建以上Nginx文件使用8080端口指向/home/wwwroot/test.com

一切创建完毕,Nginx进行测试

nginx -t
[root@localhost test1.com]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost test1.com]# 

nginx 反馈 配置文件都ok
应该如下图:


WechatIMG419.jpeg

重启或者重载nginx文件配置

nginx reload # restart

开始请求:


WechatIMG420.jpeg
WechatIMG421.jpeg

这个时候我们可以看到,请求两次结果,一次落在101服务器上一次落在102服务器,证明负载均衡已经可用,至此我们成功配置了负载均衡,是不是超简单,下篇带大家领略高并发下海量数据的分布式分库分表中间件的存储方案

你可能感兴趣的:(Nginx之负载均衡)