# 全局配置与事件块

URL: https://caijiao.org/nginx/global-and-events
Source: docs/nginx/global-and-events.md
Description: 本节讲解 Nginx 主配置文件中的全局配置与 events 块，包括用户、工作进程、日志配置以及连接处理方式，帮助你理解 nginx.conf 的核心设置。

Nginx 的全局配置和 events 块是服务运行的基础，定义了进程、权限、日志以及事件处理模型，对性能和稳定性至关重要。

## 一、全局配置 (Global Block)

全局块位于 `nginx.conf` 顶部，通常包含以下参数：

```nginx
user  nginx;                # 指定 Nginx 运行用户
worker_processes  auto;     # 设置工作进程数，可自动根据 CPU 核心数调整
error_log  /var/log/nginx/error.log warn;  # 错误日志路径及日志级别
pid        /var/run/nginx.pid;            # PID 文件位置
````

### 主要作用

* **user**：确定 Nginx 工作进程的运行权限
* **worker_processes**：决定 Nginx 并发处理能力
* **error_log**：记录启动、运行或异常信息
* **pid**：保存主进程 PID，用于管理服务

## 二、events 块

events 块用于配置 Nginx 的事件处理模型和连接数等参数：

```nginx
events {
    worker_connections  1024;  # 每个 worker 可处理的最大连接数
    use epoll;                  # Linux 推荐使用 epoll，提高并发性能
    multi_accept on;            # worker 进程启动时接受多个连接
}
```

### 关键指令说明

* **worker_connections**：每个 worker 进程允许的最大客户端连接数
* **use**：指定事件模型，如 `epoll`（Linux）、`kqueue`（FreeBSD/macOS）、`select`（通用）
* **multi_accept**：是否在事件触发时一次性接受多个连接

### 并发能力估算

Nginx 的理论最大并发连接数 = `worker_processes * worker_connections`
例如：

```text
worker_processes = 4
worker_connections = 1024
最大并发连接 = 4 * 1024 = 4096
```

---

理解全局配置和 events 块可以帮助你根据服务器性能和业务需求调整 Nginx 的并发能力与稳定性，配合后续 http 与 server 块配置，实现高性能 Web 服务。
