nginx源码编译需装齐gcc编译器及pcre、zlib、openssl三个开发库:ubuntu用apt install build-essential libpcre3-dev zlib1g-dev libssl-dev;centos/rhel 7用yum groupinstall "development tools" && yum install pcre-devel zlib-devel openssl-devel;8+系用dnf groupinstall "development tools" && dnf install pcre2-devel zlib-devel openssl-devel。

检查并安装 Nginx 源码编译所需依赖开发库,核心是确认系统是否已装齐 编译器 + 三个关键开发库(PCRE、zlib、OpenSSL)。不同发行版命令不同,但逻辑一致:先查有没有,再按需装。
确认系统类型和包管理器
执行以下命令快速识别环境:
cat /etc/os-release | grep -E "(NAME|VERSION_ID)"
常见组合:
- Ubuntu/Debian → 用
apt - CentOS 7 → 用
yum - CentOS 8+/Rocky/AlmaLinux/RHEL → 用
dnf
检查依赖是否已安装
不用逐个猜,直接用包管理器查:
-
Ubuntu/Debian:
dpkg -l | grep -E "build-essential|libpcre3-dev|zlib1g-dev|libssl-dev" -
CentOS/RHEL(yum/dnf):
rpm -q gcc pcre-devel zlib-devel openssl-devel
如果某行输出类似 package xxx is not installed 或无返回,就说明缺这个包。
一键安装缺失依赖
根据系统选择对应命令,一次装全(含编译工具链):
-
Ubuntu/Debian(22.04+ 推荐):
sudo apt update && sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev -
CentOS/RHEL 7:
sudo yum groupinstall -y "Development Tools" && sudo yum install -y pcre-devel zlib-devel openssl-devel -
CentOS/RHEL 8+ / Rocky / AlmaLinux:
sudo dnf groupinstall -y "Development Tools" && sudo dnf install -y pcre2-devel zlib-devel openssl-devel
注意:pcre2-devel 是较新系统默认的正则库开发包;旧版 Nginx 若报 pcre 相关错误,可额外装 pcre-devel 兼容。
验证能否正常调用
装完后运行以下命令,不报错即表示基础可用:
-
gcc --version→ 确认编译器就位 -
pkg-config --modversion openssl→ 检查 OpenSSL 开发头文件路径是否注册 -
pkg-config --modversion pcre2或pcre-config --version→ 验证正则支持 -
pkg-config --modversion zlib→ 确认压缩库可用
任一命令提示 command not found 或 Package not found,说明对应开发包未正确安装或 pkg-config 路径未更新,需重装或检查 /usr/lib64/pkgconfig 等目录是否存在对应 .pc 文件。











