Nginx 提供测试版(Mainline)供开发者和早期采用者测试新功能和改进。
1.24.0, 1.24.11.25.0, 1.25.1适用场景:
下载:
wget http://nginx.org/download/nginx-1.24.0.tar.gz
适用场景:
下载:
wget http://nginx.org/download/nginx-1.25.0.tar.gz
Mainline 版本通常包含:
HTTP/3 支持最初在 Mainline 版本中引入:
# Mainline 1.25.0+
server {
listen 443 quic reuseport;
listen 443 ssl;
http2 on;
http3 on;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
add_header Alt-Svc 'h3=":443"; ma=86400';
}
# 下载主线版
cd /usr/local/src
wget http://nginx.org/download/nginx-1.25.0.tar.gz
tar -xzvf nginx-1.25.0.tar.gz
cd nginx-1.25.0
# 配置
./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--with-compat \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_v3_module
# 编译安装
make
sudo make install
# 导入签名密钥
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
# 添加主线版软件源
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
# 安装
sudo apt update
sudo apt install nginx
# 创建软件源配置
sudo vim /etc/yum.repos.d/nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# 安装
sudo yum install nginx
# 1. 备份配置
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 2. 下载主线版
wget http://nginx.org/download/nginx-1.25.0.tar.gz
tar -xzvf nginx-1.25.0.tar.gz
cd nginx-1.25.0
# 3. 配置(使用相同的选项)
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--with-http_ssl_module \
--with-http_v2_module
# 4. 编译
make
# 5. 升级
sudo make upgrade
# 1. 备份配置
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 2. 下载稳定版
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -xzvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
# 3. 配置
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--with-http_ssl_module \
--with-http_v2_module
# 4. 编译
make
# 5. 升级
sudo make upgrade
测试版可能有配置语法变化:
# 测试配置
sudo nginx -t
# 查看详细错误
sudo nginx -T
动态模块需要重新编译:
# 重新编译模块
cd nginx-1.25.0
./configure --with-compat \
--add-dynamic-module=/path/to/module
make modules
sudo cp objs/*.so /usr/lib/nginx/modules/
# 监控错误日志
sudo tail -f /var/log/nginx/error.log
# 监控访问日志
sudo tail -f /var/log/nginx/access.log
# 使用工具测试性能
ab -n 1000 -c 10 http://localhost/
wrk -t12 -c400 -d30s http://localhost/
如果测试版出现问题,快速回滚:
# 1. 停止 Nginx
sudo systemctl stop nginx
# 2. 恢复旧版本
sudo cp /usr/sbin/nginx.old /usr/sbin/nginx
# 3. 启动 Nginx
sudo systemctl start nginx
# 4. 验证
nginx -v
# 在测试环境先验证
./configure --prefix=/tmp/nginx-test
make
sudo make install
/tmp/nginx-test/sbin/nginx -t -c /etc/nginx/nginx.conf
# 不要直接跳到最新版本
1.24.0 → 1.24.1 → 1.25.0
# 监控关键指标
- CPU 使用率
- 内存使用
- 响应时间
- 错误率
- 连接数
# 查看变更日志
http://nginx.org/en/CHANGES
http://nginx.org/en/CHANGES-1.24
http://nginx.org/en/CHANGES-1.25
| 版本类型 | 发布频率 | 支持周期 | 适用场景 |
|---|---|---|---|
| Stable | 每月 | 长期支持 | 生产环境 |
| Mainline | 频繁 | 短期支持 | 开发测试 |