目录

  • 一、nginx负载均衡的理解
    • 1、nginx负载均衡原理
    • 2、nginx负载均衡图解
    • 3、nginx负载均衡配置语法
  • 二、nginx负载均衡演示示例
    • 1、lz虚拟机说明
    • 2、配置192.168.3.11虚拟机(即模拟三台虚拟机应用服务器)
    • 3、配置192.168.3.10虚拟机(即负载均衡服务器)

一、nginx负载均衡的理解

1、nginx负载均衡原理

  • nginx通过proxy_pass模块实现负载均衡,proxy_pass是代理模块的一个核心配置,把所有的客户端请求通过proxy_pass代理转发到后端一组服务器上。从而实现nginx的负载均衡。

2、nginx负载均衡图解

3、nginx负载均衡配置语法

(1)、proxy_pass 配置语法

  • Syntax:proxy_pass URL; URL表示所有客户端请求请求到nginx代理服务器后,nginx代理服务器向原始服务器请求的url。URL格式:http://ip+端口/路径
  • Default:—— 表示默认没有配置。
  • Context:location; 表示需要在location块中。

(2)、upstream 配置语法

  • Syntax:upstream name{…}; name表示服务的名称。
  • Default:—— 表示默认没有配置。
  • Context:http; 表示需要在http块中。

二、nginx负载均衡演示示例

1、lz虚拟机说明

ip 说明
192.168.3.10(已安装nginx) 此虚拟机作为负载均衡服务器
192.168.3.11(已安装nginx) 此虚拟机通过nginx配置三个端口访问三个不同的页面(模拟三台虚拟机应用)

2、配置192.168.3.11虚拟机(即模拟三台虚拟机应用服务器)

(1)分别在/opt/app/code1、code2、code3目录下创建index.html页面(模拟三台服务器分别对应的index页面)

  • /opt/app/code1/目录下创建index.html页面,内容如下:

    <html lang="en"><head><meta charset="utf-8"><title>server1</title></head><body style="background-color:red;"><h1>server1</h1></body>
    </html>
    
  • /opt/app/code2/目录下创建index.html页面,内容如下:

    <html lang="en"><head><meta charset="utf-8"><title>server2</title></head><body style="background-color:yellow;"><h1>server2</h1></body>
    </html>
    
  • /opt/app/code3/目录下创建index.html页面,内容如下:

    <html lang="en"><head><meta charset="utf-8"><title>server3</title></head><body style="background-color:blue;"><h1>server3</h1></body>
    </html>
    

(2)、编辑 nginx.conf 配置文件可以看到在/etc/nginx/conf.d/目录下可以创建子配置文件,如下图:

(3)在/etc/nginx/conf.d/目录下分别创建server1.conf、server2.conf和server3.conf三个配置文件(模拟三台服务器通过不同的端口访问对应目录下的index页面,即模拟三台服务三个不同的应用)

  • server1.conf配置文件内容如下:

    server {listen       8001; #8001端口server_name  localhost; #ip地址location / {root /opt/app/code1;#指定code1目录下的文件index index.html index.htm;}  error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
    }
  • server2.conf配置文件内容如下:

    server {listen       8002; #8002端口server_name  localhost; #ip地址location / {root /opt/app/code2;#指定code2目录下的文件index index.html index.htm;}  error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
    }
  • server3.conf配置文件内容如下:

    server {listen       8003; #8003端口server_name  localhost; #ip地址location / {root /opt/app/code3;#指定code3目录下的文件index index.html index.htm;}  error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
    }

(4)、启动nginx服务并从新加载配置文件

  • 启动nginx服务

    [root@localhost conf.d]# systemctl start nginx.service
    
  • 检查配置修改的配置文件是否正确,返回successful表示配置文件修改无错

    [root@localhost nginx]# nginx -t -c /etc/nginx/nginx.conf
    

  • 重新加载nginx配置文件,并查看

    [root@localhost conf.d]# nginx -s reload -c /etc/nginx/nginx.conf
    
  • 查看本机启用nginx的端口

    [root@localhost conf.d]# netstat -luntp|grep nginx
    

(5)、浏览器分别输入地址,访问模拟的三台服务器分别对应的index页面(即模拟三台服务三个不同的应用)

  • http://192.168.3.11:8001

  • http://192.168.3.11:8002

  • http://192.168.3.11:8003

3、配置192.168.3.10虚拟机(即负载均衡服务器)

(1)、编辑 nginx.conf 配置文件可以看到在/etc/nginx/conf.d/目录下可以创建子配置文件,如下图:

(2)、在/etc/nginx/conf.d/目录下创建upstream_server.conf配置文件,内容如下:

upstream blance {#配置服务器的分别对应的应用ip和的端口server 192.168.3.11:8001;server 192.168.3.11:8002;server 192.168.3.11:8003;
}
server {listen       80; #80端口server_name  localhost; #ip地址location / {#配置代理,名称与upstream后面追加的名称相同proxy_pass http://blance;}  error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
}

(3)、启动nginx服务并从新加载配置文件

  • 启动nginx服务

    [root@localhost conf.d]# systemctl start nginx.service
    
  • 检查配置修改的配置文件是否正确,返回successful表示配置文件修改无错

    [root@localhost nginx]# nginx -t -c /etc/nginx/nginx.conf
    

  • 重新加载nginx配置文件,并查看

    [root@localhost conf.d]# nginx -s reload -c /etc/nginx/nginx.conf
    
  • 查看本机启用nginx的端口

    [root@localhost conf.d]# netstat -luntp|grep nginx
    

(4)、浏览器输入代理服务的访问地址http://192.168.3.10/,因为负载均衡服务器的端口为80可以直接省略,依次刷新服务器,可以看到依次轮询访问对应的三个页面,如下图:



(5)至此,nginx负载均衡配置已结束。

Nginx——nginx作为负载均衡服务(负载均衡示例)相关推荐

  1. nodejs负载均衡(一):服务负载均衡

    什么是负载均衡 负载平衡(Load balancing)是一种 计算机技术,用来在多个计算机( 计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最优化资源使用.最大化吞吐率.最小 ...

  2. 基于Docker + Consul + Nginx + Consul-template的服务负载均衡实现

    前言 上一篇文章使用 Consul 和 Registrator 在 docker 的容器环境中搭建了服务注册和发现集群.在服务发现和注册的基础上,本文将引入 Nginx反向代理服务器和 Consul- ...

  3. nginx tcp转发_Nginx学习(九):负载均衡服务

    介绍 对于请求而言,负载均衡能很好的均摊请求,提高服务端吞吐率和整体性能,多个服务节点部署的方式,也提高了容灾和服务高可用. 一.负载均衡分类 负载均衡分为:GSLB和SLB. 1. GDLB 全局负 ...

  4. NGINX配置基于Node.js服务的负载均衡服务器

    NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...

  5. Nginx反向代理服务器及负载均衡服务配置实战

    Nginx反向代理服务器及负载均衡服务配置实战 1 前言:什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服 ...

  6. nginx三大功能(之二负载均衡)

    2019独角兽企业重金招聘Python工程师标准>>> 什么是负载均衡?? 负载均衡是指N台服务器平均分担负载,不会因为某台服务器负载高而使得某台闲置的情况. 负载均衡要求的是即有两 ...

  7. Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)

    Centos6.2上做nginx和tomcat的集成及负载均衡 ---------------------------------------------------------Jdk-------- ...

  8. Nginx —— nginx负载均衡的详细配置 以及 使用案例详解.

    1,话不多说, 这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器 ...

  9. nginx Win下实现简单的负载均衡(2)站点共享Session

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

最新文章

  1. QIIME 2教程. 28社区Community(2020.11)
  2. 分布式任务分发框架Gearman测试、性能监控、队列持久化【python 实例】
  3. StateListDrawable和ShapeDrawable结合使用
  4. 新闻发布项目——接口类(categoryTBDao)
  5. 接上一篇--最小生成树之Prim算法(根据点来实现最小生成树)
  6. PHP三年15K,程序员月薪15K相亲三年才成功,被拒理由:这个薪资提鞋都嫌弃
  7. vue-lazyload vue图片懒加载插件的使用记录
  8. 查看操作系统和处理器的位数
  9. Git中的“起源”是什么?
  10. mysql分组去掉重复记录_MYSQL中GROUP分组去除重复数据
  11. python or的用法_python and or用法详解
  12. linux中Chmod + X
  13. win11系统安装vmware虚拟机win10 汇总
  14. 【联邦学习】隐私计算理论和效率
  15. Pr 入门教程如何减少音频中的噪音和混响?
  16. AI学习 Day09 面向对象基础(下)
  17. 链接了GitHub的文件,在Pycharm不同颜色的不同含义
  18. 表的创建(create),修改(alter)和删除(drop)
  19. 支付宝支付学习:蚂蚁沙箱环境是什么?怎样使用蚂蚁沙箱环境?
  20. 复选框判断是否选中及获取值

热门文章

  1. 陈玉信,颠覆城中村助推城中村与城市无缝连接
  2. Jetson NX安装docker
  3. [Unity] GPU动画实现(五)——渲染GPU动画
  4. 银行计算机岗社会招聘考什么题目,银行社会招聘笔试题目有哪些?
  5. 商城项目-项目环境搭建
  6. 不可能打败-www.saierhaowaigua.net
  7. Android11图片和视频保存视频方案
  8. Python-Pandas-Excel/CSV 数据处理大全整理 (一)
  9. Alibaba Cloud SDK播放器
  10. linux下运行dos命令,在Linux系统环境下运行DOS命令详解