nginx面试八股文
时间: 2025-01-05 10:23:04 浏览: 15
### Nginx 面试常见问题及解答
#### 1. Nginx 如何处理高并发请求?
Nginx 使用事件驱动架构来高效管理大量并发连接。通过异步非阻塞I/O操作,能够在一个工作进程中同时处理数千个客户端连接[^1]。
```bash
worker_processes auto;
events {
worker_connections 1024;
}
```
此配置允许自动调整工作进程数量并设置每个工作进程的最大连接数为1024。
#### 2. 解释 `error_page` 指令的作用及其用法
`error_page` 指令用于指定当发生特定HTTP状态码时返回给用户的页面路径或重定向地址。该指令支持一次性定义多个错误码对应的响应行为。
```nginx
http {
server {
error_page 404 /custom_404.html;
location = /custom_404.html {
internal;
}
error_page 500 502 503 504 /5xx_error.html;
location = /5xx_error.html {
root /usr/share/nginx/html;
}
}
}
```
上述例子展示了如何自定义不同类型的错误页。
#### 3. 对比 Nginx 和 Apache 的优缺点
Nginx 在处理静态资源方面表现出色,在面对大规模并发访问场景下效率更高;而Apache则以其丰富的功能模块著称,特别是在传统Web应用开发领域拥有广泛的应用基础。然而,对于动态内容的直接处理能力而言,Nginx往往依赖于与其他服务(如PHP-FPM)协作完成,而在相同条件下,Apache可能会占用更多的系统资源[^2]。
#### 4. 描述 Nginx 中的工作模式
Nginx 支持两种主要的工作模式——单个工作线程模型和多工作者进程模型。前者适用于小型部署环境,后者则是生产环境中更为推荐的选择,因为它可以通过增加CPU核心利用率来提升整体吞吐量。此外,还存在预派生子进程的方式进一步优化性能表现。
```nginx
worker_processes 4; # 设置为 CPU 核心数目
```
这行配置语句设定了运行中的Nginx实例将启动四个独立的工作者进程以充分利用四核处理器的能力。
阅读全文