JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx入门介绍

wys521 2024-09-04 15:34:07 精选教程 121 ℃ 0 评论

1.Nginx是什么

Nginx(engine x)是一种轻量级、高性能的HTTP和反向代理web服务器,还可以作为电子邮件(IMAP/POP3/SMTP)代理服务器。

Nginx是由俄罗斯人用C语言编写,可以运行在Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows等各种操作系统上。

2.Nginx常用功能

(1)反向代理

正向代理:可以简单抽象成客户端(浏览器/Client)、正向代理服务器、目标服务器三部分;

客户端知道目标服务器的地址或域名,但是不能直接访问,需要将该信息告知正向代理服务器,正向代理服务器访问目标服务器并返回响应信息。客户端知道目标服务器,而目标服务器不知道客户端,只知道正向代理服务器。

反向代理:可以抽象成客户端(浏览器/Client)、反向代理服务器、目标服务器三部分;

客户端并不知道目标服务器的地址或域名,客户端知道的地址和域名由反向代理服务器提供,客户端访问该信息,经过反向代理服务器分发给真实的目标服务器,并接收响应信息,在返给客户端。客户端不知道目标服务器的相关信息。

(2)负载均衡

负载量:是指客户端的请求量;均衡规则:将请求分发到不同服务器处理的规则;负载均衡:将客户端请求按照均衡规则进行分发到不同服务器处理的过程。

负载均衡的调度算法:

1)round-robin(轮询调度算法):是每一次把来自客户端的请求轮流分配给服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。

2)weight-round-robin(权重轮询调度算法):可以给不同的服务器设置weight(权重);服务器被分配处理客户端请求的概率与服务器被设置的权重成正比。

3)ip_hash(IP哈希调度算法):同一个IP发出的所有请求被同一台服务器进行处理,除非这台服务器宕机,不能提供服务;是因为nginx会根据客户端IP的哈希值,分配给服务器处理客户端请求。

4)fair(智能调整调度算法):根据服务器处理请求的响应时间,响应时间少的效率高,有更大的概率被分配用来处理客户端请求。但nginx默认不支持fair算法,如需使用,需要安装upstream_fair模块。

5)url_hash(URL哈希调度算法):同一个url请求任何时候被同一台服务器进行处理,除非这台服务器宕机,不能提供服务;是因为nginx会根据请求的url的哈希值,分配给服务器处理客户端请求。但nginx默认不支持url_hash算法,如需使用,需要安装hash模块。

6)least_conn(最少连接调度算法):根据服务器拥有的最少连接数进行分配客户端的请求,以减少其他服务器的压力。

(3)动静分离

动静分离是指客户端的动态请求和静态请求分开访问,提高用户访问静态代码的速度,降低对后台应用访问。


#学问分亨官##闪光时刻二期##闪光时刻第二期主题征文#

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表