扫码阅读
手机扫码阅读
Nginx面试常问题&工作原理揭秘!
126 2024-07-21
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:Nginx面试常问题&工作原理揭秘!
文章来源:
咸鱼运维杂谈
扫码关注公众号
Nginx面试常见问题总结
什么是Nginx?
Nginx是一款轻量级、高性能的反向代理web服务器,支持多种协议,可用于反向代理和负载均衡。
Nginx的优点
- 跨平台、配置简单。
- 支持高并发连接,使用异步非阻塞网络I/O。
- 占用内存小,开源,成本低。
- 稳定性高,支持热升级。
- 内置健康检查功能,保障服务可用性。
Nginx的应用场景
- 作为Http服务器。
- 搭建虚拟主机。
- 实现负载均衡。
- 进行反向代理。
Nginx如何实现高并发
通过异步非阻塞IO机制结合epoll事件驱动模型处理请求,worker进程在等待后端服务器响应期间可处理其他请求。
正向代理与反向代理
正向代理介于客户端与服务器之间,为客户端代理请求。反向代理则对后端服务器进行隔离保护,为多个客户端分发请求。
Nginx的工作模式
Nginx采用多进程/单线程模式,各进程独立,减少资源竞争,提高稳定性。
Nginx与Apache的异同
- 相同点:都是web服务器,可实现负载均衡和反向代理。
- 差异点:Nginx基于事件,更轻量,处理高并发更佳;Apache基于流程,性能更稳定。
Nginx负载均衡算法
- 轮询(RR)。
- 加权轮询(weight)。
- IP绑定(ip_hash)。
- URL哈希(url_hash)。
- 智能调度(fair)。
location的作用和优先级
根据用户请求的URI执行不同应用,优先级从精确匹配到正则匹配不同。
Nginx后端服务健康检查
利用nginx自带模块或nginx_upstream_check_module模块进行健康检查。
设置worker进程数量
推荐设置为auto模式,根据CPU个数自动分配。
异步同步与阻塞非阻塞
异步允许程序在I/O操作后继续执行,同步则需等待I/O完成。阻塞会挂起线程等待响应,非阻塞则不会。
I/O事件通知与多路复用
I/O事件通知分为水平触发和边缘触发,多路复用技术如select、poll、epoll用于提高并发处理能力。
Nginx工作模型
主进程 + 多个worker进程模型,避免惊群问题,提高性能。
想要了解更多内容?
查看原文:Nginx面试常问题&工作原理揭秘!
文章来源:
咸鱼运维杂谈
扫码关注公众号
咸鱼运维杂谈的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线