制作二进制免编译nginx
正常情况下,编译nginx需要gcc环境,还需要gcc、gcc-c++、openssl、zlib、pcre等基础依赖,使用yum安装还算简单。但在一些特定场景(比如银行内网环境)需要在离线环境、无Root权限的情况下安装nginx,就只能使用二进制免编译的方式来安装了。
- 第1步,找一台同环境、有公网ip的机器,比如
x86_64
架构的 麒麟v10 机器
[root@localhost ~]# arch
x86_64
[root@localhost ~]# uname -r
4.19.90-23.8.v2101.ky10.x86_64
- 第2步,在这台机器上安装nginx所需的依赖
yum install -y gcc gcc-c++ pcre perl pcre-devel zlib zlib-devel openssl openssl-devel
- 第3步,从GitHub下载Nginx源码
curl -sL https://github.com/nuccch/nginx-portable/archive/master.zip -o /opt/nginx-portable-master.zip
unzip -d /opt/ /opt/nginx-portable-master.zip
- 第4步,编译所需要的的版本(自动从
https://nginx.org/download
下载),比如 1.25.0
cd /opt/nginx-portable-master
bash compile 1.25.0
- 第5步,自动创建 build 目录,并在build目录下生成对应版本的nginx免编译文件
ll build/nginx-1.25.0.tar.gz
- 第6步,拿到这个二进制免编译文件,就可以在离线环境免编译安装nginx了
cd /opt/nginx-portable-master/build/
tar xvf nginx-1.25.0.tar.gz -C /data/
cd /data/nginx-1.25.0
./sbin/nginx -t
./sbin/nginx -c ./conf/nginx.conf