# 重载与热更新

URL: https://caijiao.org/nginx/reload-hotupdate
Source: docs/nginx/reload-hotupdate.md
Description: 本节介绍 Nginx 配置重载与热更新方法，包括平滑重载、信号控制、测试配置和更新策略，保障服务不中断和高可用性。

Nginx 支持平滑重载和热更新，使配置修改无需停止服务，保障高可用运行。

## 一、测试配置文件

```bash
nginx -t
````

* 检查配置语法正确性
* 输出 `syntax is ok` 表示语法无误

## 二、平滑重载

```bash
nginx -s reload
```

* 发送 `HUP` 信号给主进程
* 主进程重新加载配置文件
* 当前连接保持，新的请求使用新配置

## 三、热更新技巧

1. **热更新模块**

   * 可在不重启 Nginx 的情况下更新动态模块（例如 Lua 模块）
2. **信号控制**

   * `nginx -s stop`：快速停止
   * `nginx -s quit`：优雅退出
   * `nginx -s reopen`：重开日志文件

## 四、重载最佳实践

1. 修改配置前先测试：`nginx -t`
2. 配置文件拆分清晰，使用 `include` 管理
3. 定期备份旧配置，便于回滚
4. 高并发环境可结合负载均衡，实现零停机更新

---

通过 Nginx 的平滑重载和热更新功能，可以在不中断服务的情况下安全修改配置，保障网站高可用性。
