Nginx是什么?
一个高性能的Http服务器和反向代理web服务器, 特点是内存消耗低, 并发能力强.
Nginx使用场景
- Http服务器
性能非常高, 非常注重效率, 能够承受高负载的考验
支持50000个并发连接数, 不仅如此, CPU和内存占有率比较低, 10000个没有活动的链接, 才占内存2.5M
-
反向代理
-
正向代理 : 在浏览器中配置代理服务器的相关信息,通过代理服务器访问目标网站,代理服务器收
到目标网站的响应之后,会把响应信息返回给我们自己的浏览器客户端
-
反向代理 : 浏览器客户端发送请求到反向代理服务器(比如Nginx),由反向代理服务器选择原始 服务器提供服务获取结果响应,最终再返回给客户端浏览器
-
负载均衡服务器
主要是解决了高负载的问题
- 动静分离
Nginx特点
- 跨平台 : windows与 unix 系统上可编译运行
- Nginx 上手比较容易, 配置也比较简单
- 高并发, 性能好
- 稳定性特别好, 宕机率比较低
Nginx 配置文件详解
-
Location
-
(等号)= : 完全匹配
-
(波浪号)~ : 正则匹配, 区分大小写
-
(波浪号+星号) ~* : 正则匹配, 不区分大小写
-
(拖字符+波浪号)^~ : 普通匹配, 匹配前缀有效, 配置生效
-
@ : 定义一个location,用于处理内部重定向
-
负载均衡策略
-
轮询 : 按照时间顺序逐一分配给服务器, 如果某一个服务器下线, 能自动剔除
-
权重(Weight) : 权重越高分配的请求越多 , 用于服务器性能不均衡的场景
-
ip_hash : 每个请求按照ip的hash结果分配,每一个客户端的请求会固定分配到同一个目标服务器处理,可
以解决session问题
Nginx底层进程机制剖析
-
master进程
-
接受外界信号, 向各worker发送信号
-
监控worker进程的运行状态, 当worker进程异常退出后Master进程会自动重新启动新的 worker进程等
-
worker进程
-
worker进程具体处理网络请求。多个worker进程之间是对等的,他们同等竞争来自客户端的请 求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理,一个worker进程, 不可能处理其它进程的请求。worker进程的个数是可以设置的,一般设置与机器cpu核数一致。
-
nginx多进程模型好处
每个worker进程都是独立的,不需要加锁,节省开销 每个worker进程都是独立的,互不影响,一个异常结束,其他的照样能提供服务 多进程模型为reload热部署机制提供了支撑
Nginx 灰度环境发布
网友评论