Nginx详解

1、高并发时代

单台tomcat在理想情况下可支持的最大并发数量在200~500之间,如果大于这个数量可能会造成响应缓慢甚至宕机。

解决方案是通过多台服务器分摊并发压力,这不仅需要有多台tomcat服务器,还需要一台服务器专门用来分配请求。这既是反向代理服务器

2、Nginx概述

Nginx是一款优秀的反向代理服务器程序,能够为若干台服务器提供反向代理服务,一方面为客户端提供一个统一访问的地址,一方面为后台多个服务器提供负载均衡

Nginx可以实现不仅可以实现反向代理,也可以实现正向代理,不过一般我们都是使用反向代理,即代理服务器集群,因为一般集群部署也是服务端

  • 正向代理

在这里插入图片描述

nginx为客户端代理称为正向代理。客户端集群部署,可以通过访问同一个地址来访问服务端。

  • 反向代理

在这里插入图片描述

nginx为服务端代理称之为反向代理。Nginx为访问服务端提供一个统一的接口,客户端只需要访问这个统一接口就可以访问到服务端。

3、Nginx使用

通过Nginx实现请求转发

例:当客户端访问http://www.pq.com时,由nginx转发给 http://127.0.0.1:8080端口进行处理

在nginx.conf中配置

http{
#为nginx配置一个虚拟服务器,
	server {
#监听本机80端口
		listen 80;
#接收对www.pq.com主机名的访问
		server_name www.pq.com;
#对/即任意路径的访问进行处理
	location / {
#转发到指定地址
		proxy_pass http://127.0.0.1:8080;
				}
#可以配置多个location
...
}
#可以配置多个server
...
}

通过server和location配置转发的地址。接下来用户可以通过访问 www.pq.com,实际请求是被转发到 127.0.0.1:8080

实现负载均衡

对服务端集群部署,如现在对于客户端的请求有三台服务器可以处理,nginx可以对这三台服务器进行负载均衡,并提供一个统一的接口给客户端访问

在nginx.conf中这样配置:

#upstream是nginx配置文件中的关键字,用来配置一组服务器地址供后续使用
upstream big1907{
	server 127.0.0.1:8081;
	server 127.0.0.1:8082;
	server 127.0.0.1:8083;
}
	server {
		listen 80; #对80端口的访问
		server_name www.pq.com; #对此主机名的访问
		location / {
#转发到上面配置的服务器组
			proxy_pass http://big1907;
			}
		}

对于三台服务器的请求可以都通过代理接口www.pq.com进行访问

  • Nginx中的负载均衡策略

轮询 :默认不配置就是轮询。连接请求轮流分配给服务器。

IP哈希 :(客户端ip.hash()%服务器数量),根据余数决定请求去往哪个服务器

最少连接 :将连接请求分配给目前连接数最少的服务器

基于权重 :根据权重进行分配(权重值可以自定义,在地址后配置weight=x),权重值越大,被分配的连接就越多;如果直接配置为down,则该服务器不再被分配连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zero摄氏度

感谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值