Nginx是全球广泛使用的高性能Web服务器和反向代理服务器。2025年4月23日,Nginx官方发布了最新稳定版本1.28.0,带来了性能提升和安全修复。本文用最简单的语言,结合丰富示例和代码,帮助大家快速理解并应用Nginx。
一、Nginx 1.28.0版本亮点
-
发布时间:2025年4月23日
-
基于版本:1.27.5主线版本
-
主要更新:
- 支持QUIC协议的CUBIC拥塞控制,提升HTTP/3性能
- 增加SSL会话缓存大小至8192字节,提升高并发下性能
- 修复HTTP/3相关安全漏洞
- 改善OpenSSL自定义曲线支持
- 支持musl libc(适合Alpine Linux)
- 兼容GCC 14/15编译优化
-
适用场景:需要高性能HTTP/3支持和安全稳定环境的生产服务器
二、Nginx安装基础(以Linux为例)
1. 安装前准备
Nginx源码编译需要以下依赖:
- GCC编译器(gcc、g++)
- PCRE库(支持正则表达式)
- OpenSSL库(支持HTTPS)
- zlib库(支持压缩)
- make工具(自动化编译)
CentOS/RHEL安装依赖命令:
sudo yum install gcc gcc-c++ pcre-devel openssl-devel zlib-devel make -y
Ubuntu/Debian安装依赖命令:
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev -y
2. 下载Nginx源码
wget https://nginx.org/download/nginx-1.28.0.tar.gz
tar zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0
3. 编译与安装
执行配置脚本,开启常用模块:
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_v3_module \
--with-threads \
--with-stream
参数说明:
参数 | 作用 |
---|---|
--prefix | 指定安装目录 |
--with-http_ssl_module | 启用HTTPS支持 |
--with-http_v2_module | 启用HTTP/2支持 |
--with-http_v3_module | 启用HTTP/3支持(QUIC协议) |
--with-threads | 启用线程池,提高并发性能 |
--with-stream | 支持TCP/UDP代理 |
编译安装:
make -j $(nproc)
sudo make install
4. 配置Systemd服务(方便管理)
创建文件 /etc/systemd/system/nginx.service
,内容如下:
[Unit]
Description=NGINX Web Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx
5. 验证安装
- 访问服务器IP,默认显示Nginx欢迎页面
- 查看版本:
/usr/local/nginx/sbin/nginx -v
- 查看服务状态:
sudo systemctl status nginx
三、Nginx配置文件结构及示例
Nginx配置文件一般在 /usr/local/nginx/conf/nginx.conf
,主要包含以下块:
配置块 | 作用描述 |
---|---|
全局 | 设置用户、工作进程数等全局参数 |
events | 网络连接相关设置,如最大连接数、事件模型 |
http | HTTP服务器相关配置,包含多个server 块 |
server | 虚拟主机配置,监听端口、域名等 |
location | 请求路径匹配规则,定义请求处理方式 |
1. 简单配置示例
user nginx;
worker_processes auto;
events {
worker_connections 10240;
use epoll;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
# 关闭版本号,提升安全
server_tokens off;
# 限制上传大小为10MB
client_max_body_size 10m;
# 启用Gzip压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
}
2. 重要配置说明
worker_processes auto;
:自动匹配CPU核心数,提升性能worker_connections 10240;
:单个worker最大连接数,决定并发能力sendfile on;
:启用零拷贝,提高文件传输效率keepalive_timeout 65;
:长连接保持时间,减少TCP连接开销server_tokens off;
:隐藏Nginx版本,防止信息泄露client_max_body_size 10m;
:限制客户端上传文件大小gzip on;
:启用压缩,减少流量,提高加载速度
四、Nginx性能优化实用技巧
优化点 | 配置示例 | 说明 |
---|---|---|
线程和连接数 | worker_processes auto; worker_connections 10240; | 利用多核CPU,支持更多并发连接 |
事件模型 | use epoll; | Linux高效事件处理模型 |
压缩传输 | gzip on; gzip_types text/css application/json; | 减少网络传输数据大小 |
缓存控制 | proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=mycache:10m max_size=1g inactive=60m; | 缓存后端响应,减轻服务器压力 |
请求限制 | limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; limit_req zone=one burst=20; | 防止恶意请求和流量突发 |
SSL优化 | ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.2 TLSv1.3; | 提升HTTPS性能和安全 |
五、快速使用Docker部署Nginx
Docker让Nginx部署更简单,适合开发和测试环境。
docker pull nginx:1.28.0-alpine
docker run -d --name my-nginx -p 80:80 -p 443:443 nginx:1.28.0-alpine
挂载自定义配置和网站目录:
docker run -d --name my-nginx -p 80:80 -p 443:443 \
-v /your/conf/path/nginx.conf:/etc/nginx/nginx.conf \
-v /your/html/path:/usr/share/nginx/html \
nginx:1.28.0-alpine
查看运行状态:
bash
docker ps
docker logs my-nginx
六、完整示例:从源码安装到启动Nginx
# 安装依赖(以Ubuntu为例)
sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev
# 下载源码
wget https://nginx.org/download/nginx-1.28.0.tar.gz
tar zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0
# 配置编译参数
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_v3_module \
--with-threads \
--with-stream
# 编译安装
make -j $(nproc)
sudo make install
# 启动Nginx
sudo /usr/local/nginx/sbin/nginx
# 验证版本
/usr/local/nginx/sbin/nginx -v
# 访问 http://服务器IP ,看到欢迎页面即安装成功
七、总结
- Nginx 1.28.0是目前最新稳定版本,支持HTTP/3和QUIC,性能和安全性更好。
- 推荐通过源码编译安装,灵活定制功能模块。
- 配置文件结构清晰,重点理解
http
、server
、location
块。 - 结合合理的性能优化和安全加固配置,Nginx可以高效稳定地服务大规模访问。
- Docker部署适合快速启动和环境隔离,方便开发测试。
通过本文的基础知识讲解和丰富示例,您可以轻松上手Nginx 1.28.0,搭建高性能的Web服务器环境,满足现代互联网应用需求。