1、新建工作目录并进入
mkdir workspace
cd workspace
2、下载源码
#下载源代码
wget https://nginx.org/download/nginx-1.18.0.tar.gz
wget https://zlib.net/current/zlib.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
wget https://zenlayer.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz?viasf=1
#解压源代码
tar zxvf nginx-1.18.0.tar.gz
tar zxvf zlib.tar.gz
tar zxvf openssl-1.1.1w.tar.gz
tar zxvf pcre-8.45.tar.gz
3、配置编译参数
./configure \
--prefix=. \
--sbin-path=nginx \
--conf-path=conf/nginx.conf \
--pid-path=logs/nginx.pid \
--http-log-path=logs/access.log \
--error-log-path=logs/error.log \
--http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--http-scgi-temp-path=temp/scgi_temp \
--http-uwsgi-temp-path=temp/uwsgi_temp \
--with-pcre=../pcre-8.45 \
--with-zlib=../zlib-1.3.1 \
--with-openssl=../openssl-1.1.1w \
--with-http_ssl_module \
--with-http_v2_module \
--with-threads \
--with-file-aio \
--with-http_realip_module \
--with-http_stub_status_module \
--with-stream
不要使用--with-cc-opt="-static"和--with-ld-opt="-static"参数进行静态编译,否则nginx编译好后,哪怕不运行任何业务,CPU的占用也会达到100%(在FT2000上测试的结果)。
4、编译并安装
make -j$(nproc)
make install # 由于--prefix指定的是“.”(当前目录),因此可以不用执行make install操作,编译好的nginx位于objs中
5、检查nginx并执行打包
- 使用
ldd nginx检查nginx是否为纯静态执行文件; - 新建文件夹nginx-1.18.0,并将nginx拷贝到文件夹中;
- 将源代码目录下的conf、contrib、html、man拷贝到文件夹nginx-1.18.0中;
- 新建logs和temp两个目录,注意权限问题;
- 使用
tar -cf nginx-1.18.0_aarch64.tar nginx-1.18.0完成打包,之后就可以通过nginx-1.18.0_aarch64.tar进行分发;
DISCUSSION
评论
还没有公开评论,欢迎留下想法。