java基础Nginx的使用

1:Nginx是什么?(用于处理高并发)
Nginx是一个高性能的HTTP反向代理的服务器、也是一个Web服务器、或者说也是一个邮件服务器
反向代理:
正向代理:eg:要找一个明星办个事、首先是找的是经纪人、然后通过经纪人找到这个明星办事(nginx作为客户端的代理)
反向代理:就是说我们要找的目标资源在一台服务器器上、现在我们要通过Nginx的路由来找到这个服务器、这个就叫做反向代理(Nginx作为服务器端的代理)
服务器:PC机
Web服务器:在PC机上安装上Web服务的软件 ---- 就叫做Web服务器了
Nginx是一个服务代理软件 web服务的软件 邮件服务的软件
邮件服务器:PC机上安装了邮件服务的软件 SMTP POP3

nginx:异步非租塞处理机制
tomcat:同步阻塞处理机制

2:Nginx能干什么?(获取服务器ip地址,及端口号,才能进行路由之类的)
1:虚拟主机
2:反向代理(nignx——tomcat——DB)
3:负载均衡(做一个路由,大量请求分配到多个后端服务器)
4:动静分离(静态资源(html,js,css,img一类不需要经过后台处理的静态资源)放在nginx上,动态资源(经过controller处理的资源)放在服务器上)(可以进一步对静态资源做缓存处理,从而进一步提高程序的效率)

负载均衡常用策略

  • 默认的访问策略是轮询
  • 权重(赋予不同权重,让性能好的服务器处理更多的请求,一般的处理相应较少的请求)
  • ip-hash:每个请求按ip的hash结果分配,保证同一用户的请求固定找到一台服务器,解决session的问题,后期把认证信息放入redis中,就把不用担心session持久化的问题了。
  • fair:就是说按后端响应的时间来分配请求,响应时间越短,越优先分配

3:Nginx上的master和worker进程分表是什么?(一个master生成一个或多个worker进程)
master读取评估配置文件和维持作用
worker是用于处理请求的进程

4:Nginx做反向代理如何提高后端服务器处理效率,nginx在request传递到后端服务器之前会先对请求做buffer(处理),使请求到了后端就是完整的http请求,从而提高了后端服务器处理效率。

5:使用ngnix的经典问题:Nginx惊群效应
就是说多个线程等待一个事件发生时,会进入休眠状态,一旦事件发生,将唤醒所有处于休眠状态下的线程,但又只能有一个线程获取这个事件的处理权利 ,其他的线程将再次进入休眠状态,这种现象和资源浪费称之为nginx惊群效应;
解决:采用锁的互斥,使同一时刻只能有一个进程或线程去监听一个事件,事件发生后只唤醒这个正在监听端口的进程或线程。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值