Nginx
Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强。Nginx 专为性能优化而开发,在高并发场景下能够支持高达 50,000 个并发连接数的响应。
Nginx 的核心优势
- 高并发高性能:基于事件驱动架构,采用异步非阻塞方式处理请求
- 反向代理与负载均衡:可将请求分发到多个后端服务器
- 静态资源服务:高效处理静态文件
- 热部署:可以在不停机的情况下升级
快速开始
安装 Nginx
- Docker
- Ubuntu/Debian
- CentOS/RHEL
# 拉取官方镜像
docker pull nginx:latest
# 运行容器
docker run -d \
--name mynginx \
-p 80:80 \
-v /path/to/html:/usr/share/nginx/html:ro \
-v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro \
nginx
# 更新软件包索引
sudo apt update
# 安装 Nginx
sudo apt install nginx
# 启动 Nginx 服务
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
# 安装 Nginx
sudo yum install nginx
# 启动 Nginx 服务
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
常用命令
# 测试配置文件语法
nginx -t
# 重新加载配置(无需停止服务)
nginx -s reload
# 优雅停止(等待 worker 进程完成当前请求)
nginx -s quit
# 立即停止
nginx -s stop
# 查看 Nginx 版本
nginx -v
# 查看编译配置参数
nginx -V
配置文件结构
Nginx 配置文件由指令(directives)组成,分为简单指令和块指令两种。
指令类型
简单指令:由指令名称、参数和分号组成
worker_processes 4; # 设置 worker 进程数
pid /var/run/nginx.pid; # 指定 pid 文件路径
块指令:使用大括号 {} 包裹其他指令,不用分号结尾
events {
worker_connections 1024;
}
http {
server {
location / {
# 配置内容
}
}
}
Context 作用域
Nginx 的配置有层级结构,每个块指令形成一个作用域(context):
配置继承规则
子 context 会继承父 context 的配置,子 context 中的同名指令会覆盖父 context 的配置