nginx面试

Nginx是如何实现高并发的?

Nginx 采用的是多进程(单线程) & 多路IO复用模型,,异步,非阻塞.

一个主进程master,多个工作进程worker,每个工作进程可以处理多个请求

master进程主要负责收集、分发请求。每当一个请求过来时,master就拉起一个worker进程负责处理这个请求。同时master进程也负责监控woker的状态,保证高可靠性

在nginx中的work进程中,为了应对高并发场景,采取了Reactor模型(也就是I/O多路复用,NIO):

每一个worker进程通过I/O多路复用处理多个连接请求;
为了减少进程切换(需要系统调用)的性能损耗,一般设置worker进程数量和CPU数量一致。
**I/O 多路复用模型:**在 I/O 多路复用模型中,最重要的系统调用函数就是 select(其他的还有epoll等),该方法的能够同时监控多个文件描述符的可读可写情况(每一个网络连接其实都对应一个文件描述符),当其中的某些文件描述符可读或者可写时,select 方法就会返回可读以及可写的文件描述符个数。

nginx work进程使用 I/O 多路复用模块同时监听多个 FD(文件描述符),当 accept、read、write 和 close 事件产生时,操作系统就会回调 FD 绑定的事件处理器,这时候work进程再去处理相应事件,而不是阻塞在某个请求连接上等待。这样就可以实现一个进程同时处理多个连接。

nginx和apache的区别?

轻量级,同样起web 服务,比apache 占用更少的内存及资源
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

nginx 的 upstream支持的负载均衡方式?

轮询(默认)

weight :指定权重

ip_hash :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器

第三方: fair、url_hash

Nginx常见的优化配置有哪些?

调整worker_processes : 指Nginx要生成的worker数量,最佳实践是每个CPU运行1个工作进程
最大化worker_connections :
启用Gzip压缩 : 压缩文件大小,减少了客户端http的传输带宽,因此提高了页面加载速度
为静态文件启用缓存
禁用access_logs : 访问日志记录,它记录每个nginx请求,因此消耗了大量CPU资源,从而降低了nginx性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: nginx面试题高频问题包括如下几个方面: 1. Nginx中如何限制访问频率? 在Nginx中,可以使用ngx_http_limit_req_module模块来限制访问频率,其原理是基于漏桶算法实现的。可以在nginx.conf配置文件中使用limit_req_zone命令和limit_req命令来限制单个IP的请求处理频率。\[1\] 2. Nginx中如何判断某个IP不可访问? 可以使用Nginx的配置指令来判断某个IP是否可访问。例如,可以使用if语句来判断访问的IP地址是否为特定的IP,如果是,则返回403禁止访问。例如:if ($remote_addr = 192.168.9.115) { return 403; }\[2\] 3. Nginx和Apache的区别是什么? Nginx和Apache是两种常见的Web服务器,它们有一些核心区别。最核心的区别在于Nginx是异步的,多个连接可以对应一个进程,而Apache是同步的,一个连接对应一个进程。此外,Nginx是基于事件的Web服务器,而Apache是基于流程的Web服务器。Nginx在内存消耗和连接方面表现较好,适合负载均衡,而Apache在支持多种语言和插件方面更加灵活。\[3\] 4. 什么是动态资源和静态资源分离? 动态资源和静态资源分离是一种优化Web服务器性能的方法。动态资源是指需要经过服务器处理的资源,例如PHP脚本,而静态资源是指不需要经过服务器处理的资源,例如HTML文件、CSS文件、图片等。通过将动态资源和静态资源分别存放在不同的服务器或者不同的路径下,可以提高服务器的处理效率和响应速度。\[3\] #### 引用[.reference_title] - *1* *2* *3* [Nginx常见面试题整理---40题](https://blog.csdn.net/qq_29974229/article/details/125718921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值