二、nginx简介
1.nginx场景
- 静态资源服务器
- 反向代理服务
- API接口服务(Lua&Javascript)
2.nginx优势
- 高并发高性能
- 可扩展性好
- 高可靠性
- 热部署
- 开源许可证
3.nginx架构
3.1 轻量
- 源代码只包含核心模块
- 其他非核心功能都是通过模块实现,可以自由选择
3.2 架构
- nginx采用的是多进程(每个进程是单线程)和多IO复用模型
3.2.1 工作流程
- nginx在启动后,会有一个master进程和多个相互独立的worker进程(一般worker进程数量跟cpu数量相同)
- 接收来自外界的信号,向各worker进程发送信号,每个进程都有可能来处理这个连接
- master进程能监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动启动新的worker进程。
- worker进程数,一般会设置成cpu核数。因为更多的worker数,只会导致进程相互竞争cpu,从而带来不必要的上下文切换
- 使用多进程模式,不仅能提高并发率,而且进程之间相互独立,一个worker进程挂了不会影响到其他worker进程