Nginx基本使用和代理服务器(负载均衡)--保姆级教程

前言:

本笔记仅做学习与复习使用,不存在刻意抄袭。

给各位学友强烈推荐《遇见狂神说》他的整套Java学习路线使我获益匪浅!!!

点击跳转至遇见狂神说哔哩哔哩首页


目录

前言:

引入

单机阶段

低并发阶段

高并发阶段

Nginx

nginx是个啥:

nginx能干啥,为什么要学他:

Nginx作用:

Nginx的安装

windows下安装

linux下安装

Nginx常用命令

 负载均衡(重点!)


引入

单机阶段

对于编程初阶来说,我们感受不到什么程序的高并发,自己写的程序在自己电脑上跑得飞起,这个阶段我们就叫他单机阶段吧。

咱们单机阶段就类似于这样,一般只有单个用户提交请求(如查询学生信息),而服务器接收到请求,执行对应操作后再返回给用户请求结果。我们可以发现这就是一个客户端与服务器一对一的请求返回关系,只要自己代码没有太大问题,一般是感受不到什么延时,结果就已经返回给你了。

低并发阶段

学校教务系统网站大家使用过的吧,我们就用此举例,平常时候登录教务系统的同学是很少的,就如下图:

三个同学同时登录教务系统处理业务,假设他们同时提交了请求,服务器只能一个一个处理,也就是说总有一个同学处理结束需要花费450毫秒,虽然这个间隔常人并不能感受到延迟,可是每当有什么活动,大量同学同时登录系统处理业务会怎么样呢?

高并发阶段

 比如学校有什么考试报名,同学们登录教务系统,会明显的感觉卡顿,为什么会产生卡顿呢:

我们看到,在学生多的时候,服务器一下接受到很多请求,这就是高并发情况,服务器接受到请求只能一个一个执行,虽然每一个请求执行时间很短,但是当请求太多,时间累计起来也不是个小数目。如果并发量继续扩大,甚至可能造成服务器宕机。

Nginx

nginx是个啥:

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。摘取于百度百科

nginx能干啥,为什么要学他:

首先Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

而且nginx可以很好的解决上面所说的高并发情况(配合多台服务器使用),那他怎么解决呢?

Nginx代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器节点之上。这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择。保证最佳体验!所以我们使用了Nginx。

Nginx作用:

Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

正向代理

反向代理

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的。

轮询:按照顺序派发请求给服务器。

加权轮询:权重比例不是绝对的,而是倾向。

iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值