Nginx

1 Nginx基础回顾

在这里插入图片描述
Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强

Http服务器(Web服务器)
性能⾮常⾼,⾮常注重效率,能够经受⾼负载的考验。
⽀持50000个并发连接数,不仅如此,CPU和内存的占⽤也⾮常的低,10000个没有活动的连 接才占⽤2.5M的内存。

反向代理服务器

正向代理

在浏览器中配置代理服务器的相关信息,通过代理服务器访问⽬标⽹站,代理服务器收 到⽬标⽹站的响应之后,会把响应信息返回给我们⾃⼰的浏览器客户端

反向代理

浏览器客户端发送请求到反向代理服务器(⽐如Nginx),由反向代理服务器选择原始 服务器提供服务获取结果响应,最终再返回给客户端浏览器

负载均衡服务器
负载均衡,当⼀个请求到来的时候(结合上图),Nginx反向代理服务器根据请求去找到⼀个 原始服务器来处理当前请求,那么这叫做反向代理。那么,如果⽬标服务器有多台(⽐如上 图中的tomcat1,tomcat2,tomcat3…),找哪⼀个⽬标服务器来处理当前请求呢,这样⼀ 个寻找确定的过程就叫做负载均衡。
负载均衡就是为了解决⾼负载的问题。

动静分离
在这里插入图片描述
Nginx 的特点
跨平台:Nginx可以在⼤多数类unix操作系统上编译运⾏,⽽且也有windows版本
Nginx的上⼿⾮常容易,配置也⽐较简单
⾼并发,性能好
稳定性也特别好,宕机概率很低

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Nginx主要命令

./nginx 启动nginx
./nginx -s stop 终⽌nginx(当然也可以找到nginx进程号,然后使⽤kill -9 杀掉nginx进程)
./nginx -s reload (重新加载nginx.conf配置⽂件)

2 Nginx核⼼配置⽂件解读

Nginx的核⼼配置⽂件conf/nginx.conf包含三块内容:全局块、events块、http块
全局块
从配置⽂件开始到events块之间的内容,此处的配置影响nginx服务器整体的运⾏,⽐如worker进 程的数量、错误⽇志的位置等

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 Nginx应⽤场景之反向代理

在这里插入图片描述
需求⼀完成

部署tomcat,保持默认监听8080端⼝ 修改nginx配置,并重新加载
修改nginx配置
在这里插入图片描述
重新加载nginx配置
./nginx -s reload

测试,访问http://111.229.248.243:9003,返回tomcat的⻚⾯

在这里插入图片描述
需求⼆完成

再部署⼀台tomcat,保持默认监听8081端⼝
修改nginx配置,并重新加载

在这里插入图片描述
这⾥主要就是多location的使⽤,这⾥的nginx中server/location就好⽐tomcat中的 Host/Context
location 语法如下:

location [=|~|~*|^~] /uri/ { … }

在nginx配置⽂件中,location主要有这⼏种形式:
1)正则匹配 location ~ /lagou { }
2)不区分⼤⼩写的正则匹配 location ~* /lagou { }
3)匹配路径的前缀 location ^~ /lagou { }
4)精确匹配 location = /lagou { }
5)普通路径前缀匹配 location /lagou { }
优先级
4 > 3 > 2 > 1 > 5

4 Nginx应⽤场景之负载均衡

在这里插入图片描述
Nginx负载均衡策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 Nginx应⽤场景之动静分离

动静分离就是讲动态资源和静态资源的请求处理分配到不同的服务器上,⽐较经典的组合就是 Nginx+Tomcat架构(Nginx处理静态资源请求,Tomcat处理动态资源请求),那么其实之前的讲解 中,Nginx反向代理⽬标服务器Tomcat,我们能看到⽬标服务器ROOT项⽬的index.jsp,这本身就是 Tomcat在处理动态资源请求了。

所以,我们只需要配置静态资源访问即可。

在这里插入图片描述
Nginx配置

在这里插入图片描述

6 Nginx底层进程机制剖析

Nginx启动后,以daemon多进程⽅式在后台运⾏,包括⼀个Master进程和多个Worker进程,Master 进程是领导,是⽼⼤,Worker进程是⼲活的⼩弟。
在这里插入图片描述
master进程
主要是管理worker进程,⽐如:
接收外界信号向各worker进程发送信号(./nginx -s reload)
监控worker进程的运⾏状态,当worker进程异常退出后Master进程会⾃动重新启动新的 worker进程等

worker进程
worker进程具体处理⽹络请求。多个worker进程之间是对等的,他们同等竞争来⾃客户端的请 求,各进程互相之间是独⽴的。⼀个请求,只可能在⼀个worker进程中处理,⼀个worker进程, 不可能处理其它进程的请求。worker进程的个数是可以设置的,⼀般设置与机器cpu核数⼀致。

Nginx进程模型示意图如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值