安装依赖
yum install -y rpm-build redhat-rpm-config rpmdevtools yum-utils
yum install -y gcc gcc-c++ pcre zlib openssl ccache
yum install -y openssl-devel zlib-devel pcre-devel gcc make perl perl-Data-Dumper libtool ElectricFence systemtap-sdt-devel valgrind-devel
建文件夹
mkdir -p /tmp/openresty-tmp/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
下载依赖
git clone https://github.com/vozlt/nginx-module-vts.git /tmp/openresty-tmp/nginx-module-vts
#git clone https://gitee.com/wangxiaoming_936/nginx-module-vts.git /tmp/openresty-tmp/nginx-module-vts
git clone https://github.com/openresty/openresty.git /tmp/openresty-tmp/openresty
#git clone https://gitee.com/mirrors_openresty/openresty_1.git /tmp/openresty-tmp/openresty
git clone https://github.com/openresty/openresty-packaging.git /tmp/openresty-tmp/openresty-packaging
#git clone https://gitee.com/mirrors_openresty/openresty-packaging.git /tmp/openresty-tmp/openresty-packaging
下载源码
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz -P /tmp/openresty-tmp/rpmbuild/SOURCES/
理论上版本差异不影响后续操作
环境准备
echo '%_topdir /tmp/openresty-tmp/rpmbuild' > $HOME/.rpmmacros
cp /tmp/openresty-tmp/openresty-packaging/rpm/SOURCES/* /tmp/openresty-tmp/rpmbuild/SOURCES/
cp /tmp/openresty-tmp/openresty-packaging/rpm/SPECS/*.spec /tmp/openresty-tmp/rpmbuild/SPECS/
cp /tmp/openresty-tmp/openresty/patches/* /tmp/openresty-tmp/rpmbuild/SOURCES/
cd /tmp/openresty-tmp/rpmbuild/SPECS
vim openresty.spec
--add-module=/tmp/openresty-tmp/nginx-module-vts \
image.png
开始编译
以下rpmbuild提示缺少文件的话,需要查看对应的spec,查看Source对应的url并下载到对应位置
#wget https://www.zlib.net/zlib-1.2.13.tar.xz -P /tmp/openresty-tmp/rpmbuild/SOURCES/ --no-check-certificate
rpmbuild -ba openresty-zlib.spec
yum install -y ../RPMS/x86_64/openresty-zlib-*
#wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz -P /tmp/openresty-tmp/rpmbuild/SOURCES/ --no-check-certificate
rpmbuild -ba openresty-openssl111.spec
yum install -y ../RPMS/x86_64/openresty-openssl111-*
#wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.bz2 -P /tmp/openresty-tmp/rpmbuild/SOURCES/ --no-check-certificate
rpmbuild -ba openresty-pcre.spec
yum install -y ../RPMS/x86_64/openresty-pcre-*
rpmbuild -ba openresty.spec
以下几个是生产安装需要的rpm包
[root@localhost SPECS]#ls -l /tmp/openresty-tmp/rpmbuild/RPMS/x86_64| grep -v -E 'debug|devel' | awk '{print $NF}'
openresty-1.21.4.1-1.el7.x86_64.rpm
openresty-openssl111-1.1.1s-1.el7.x86_64.rpm
openresty-pcre-8.45-1.el7.x86_64.rpm
openresty-zlib-1.2.13-1.el7.x86_64.rpm
参考链接:
openresty rpm 构建_51CTO博客_openresty 官网
openresty监控模块nginx-module-vts编译安装