必须使用nginx 1.25.x及以上版本才能支持HTTP/2和TLSv1.3;apt安装仅得1.14.x,不满足需求;推荐手动安装官方mainline DEB包或源码编译启用brotli、realip等高性能模块。

您需要在统信UOS上部署一个响应快、并发强、支持HTTP/2和TLSv1.3的Web服务,不能只满足于默认源里老旧的nginx 1.14版本,必须获取1.25.x主线版或更高版本才能启用现代协议与性能模块。
用apt从官方源快速启用基础服务
这一步适合测试环境或对功能无特殊要求的内部系统,操作起来很简单,直接执行命令就行。
打开终端,以sudo权限用户运行:sudo apt update
安装nginx包:sudo apt install nginx -y
启动并设为开机自启:sudo systemctl start nginx && sudo systemctl enable nginx
验证服务状态:sudo systemctl status nginx,看到“active (running)”即表示成功——但注意:【此方式安装的nginx版本通常为1.14.x,不支持HTTP/2,无法满足高性能需求】
下载DEB包手动安装主线版Nginx
当您明确需要HTTP/2、gRPC、TLSv1.3或最新安全补丁时,必须跳过官方源,直取nginx.org发布的主线版(mainline)DEB包。该方法兼容amd64与arm64架构,安装后无需编译,开箱即用。
方法一:直接wget下载(以amd64为例)
访问官网下载页,复制对应链接:wget https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx/nginx_1.25.3-1~jammy_amd64.deb
方法二:若系统为ARM64架构(如鲲鹏、飞腾平台),请替换为arm64链接:wget https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx/nginx_1.25.3-1~jammy_arm64.deb
安装下载的包:sudo dpkg -i nginx_*.deb
修复依赖(关键步骤,漏掉会导致nginx命令不可用):sudo apt --fix-broken install -y
启动服务并确认监听:sudo systemctl start nginx && sudo ss -tlnp | grep ':80|:443'——此时nginx -v应输出1.25.3,且nginx -V | grep http_v2_module有回显。
源码编译安装并启用高性能模块
这是真正实现“高性能”的路径:可启用realip、stub_status、brotli压缩、甚至lua模块;还能针对国产CPU(如海光Hygon、申威SW)添加-march=znver2或-march=sw64等优化参数。以下步骤基于UOS Server 20(fuyu)实测通过。
第一步:安装编译工具链与开发库
sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libbrotli-dev -y
第二步:创建构建目录并获取源码
mkdir ~/nginx-src && cd ~/nginx-src && wget https://nginx.org/download/nginx-1.25.3.tar.gz && tar -zxvf nginx-1.25.3.tar.gz && cd nginx-1.25.3
第三步:配置编译选项(关键!含HTTP/2、Brotli、真实IP透传)
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_brotli_filter_module \
--with-compat \
--user=www-data \
--group=www-data
第四步:编译并安装
make -j$(nproc) && sudo make install
第五步:创建systemd服务文件,避免手动启停
sudo tee /etc/systemd/system/nginx.service [Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
第六步:重载守护进程并启用服务
sudo systemctl daemon-reload && sudo systemctl enable nginx && sudo systemctl start nginx
最后验证:sudo /usr/local/nginx/sbin/nginx -V 2>&1 | grep -E "(http_v2|brotli|realip)",三者全部出现才表示高性能模块已就绪。











