关于nginx
Posted SheaChen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于nginx相关的知识,希望对你有一定的参考价值。
基础
nginx是一款轻量级的web服务器/反向代理服务器及电子邮件代理服务器,特点是占用内存少,并发处理能力强
nginx启动后,在unix系统中以daemon的方式在后台运行,后台包括一个master进程和多个worker进程,每个worker进程都是从master fork过来的
master进程用于管理其他的worker进程,worker进程之间互相独立
nginx采用异步非阻塞的方式处理请求,可以同时处理上千万个请求
nginx利用用户传入的超时时间生成一个定时器,放在红黑树中进行维护
nginx启动时,先读取配置文件,获取到需要监听的端口和ip,然后在master进程中初始化这些监控的socket,再fork出worker进程,然后worker进程会监听新的连接请求
nginx在处理请求的时候采用的状态机来解析请求,提高效率
nginx通过ngx_accept_disable变量来控制每个worker进程的连接数,防止某个worker进程处于非常繁忙而其他进程处于空闲状态
nginx的负载均衡策略
1、轮询
每个请求按时间顺序逐一分配到后端服务器,如果后端服务器down掉,会自动剔除
可以在上面加上权重,用于后端服务器性能不均匀的情况
2、ip_hash
根据用户请求ip来计算服务器地址,使得同一个ip的所有请求都落在同一个服务器上,可以解决session问题
3、fair
按后端服务器响应时间来分配请求,响应时间短的优先分配
4、url_hash
按url的Hash结果来分配请求,使得相同的url总是落在同一个服务器上,使用于后端服务器为缓存的情况
以上是关于关于nginx的主要内容,如果未能解决你的问题,请参考以下文章
python分析apache和nginx日志文件输出访客ip列表的代码
关于js----------------分享前端开发常用代码片段
nginx.conf 忽略了 nginx-ingress 配置映射片段
springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found(代码片段