当前位置: 代码网 > 服务器>网络>SSL > Nginx的三个基础库:PCRE、OpenSSL、Zlib的安装过程

Nginx的三个基础库:PCRE、OpenSSL、Zlib的安装过程

2026年07月21日 SSL 我要评论
验证确保已安装交叉编译工具链,检查工具链路径:确保aarch64-linux-gnu-gcc、aarch64-linux-gnu-ld等工具在path中,且无主机工具链污染:which aarch64

验证确保已安装交叉编译工具链,检查工具链路径:

确保aarch64-linux-gnu-gccaarch64-linux-gnu-ld等工具在path中,且无主机工具链污染:

which aarch64-linux-gnu-gcc

如果工具链路径未正确识别,可在configure后修改makefile,显式指定链接器:

# 在makefile中找到以下变量并修改
cc= aarch64-linux-gnu-gcc
ar= aarch64-linux-gnu-ar
ld= aarch64-linux-gnu-ld

若安装后面的三个基础库,发现读写执行等权限不足,就使用"sudo chmod 777 -r 文件夹"对整个文件夹及其子文件可读、可写、可执行的权限

sudo chmod 777 -r 文件夹名称

1、下载pcre-8.45.tar.gzopenssl-1.1.1wzlib-1.3.1

1.1 下载pcre-8.45.tar.gz

wget http://mirror.dotsrc.org/tinycorelinux/14.x/x86_64/tcz/src/pcre/pcre-8.45.tar.bz2

检查文件大小:

ls -lh pcre-8.45.tar.bz2

解压pcre-8.45.tar.bz2:

tar -xvf pcre-8.45.tar.bz2

编译:

./configure \
--host=aarch64-linux-gnu \
--prefix=/opt/rootfs-arm64/usr \
cc=aarch64-linux-gnu-gcc \
cxx=aarch64-linux-gnu-g++

安装:

sudo make -j$(nproc)
sudo make install

安装完成后,检查文件是否写入成功:

ls -l /opt/rootfs-arm64/usr/lib/libpcre*.so

1.2 安装openssl-1.1.1w

wget https://github.com/openssl/openssl/archive/refs/tags/openssl_1_1_1w.tar.gz -o openssl-1.1.1w.tar.gz

验证文件大小:

ls -lh openssl-1.1.1w.tar.gz

确认压缩包内是否含有configure

tar -tzvf openssl-1.1.1w.tar.gz | grep configure

解压文件:

tar -zxvf openssl-1.1.1w.tar.gz

编译前先清理残留文件:

make distclean  # 清理所有编译中间文件(比make clean更彻底)
# 或手动删除残留文件
rm -rf crypto/*.o apps/*.o *.so *.a

编译:

./configure linux-aarch64 \
--prefix=/opt/rootfs-arm64/usr \
--cross-compile-prefix=aarch64-linux-gnu- \
no-asm \
shared

安装:

sudo make -j$(nproc)
sudo make install_sw

检查检查文件是否存在:

ls -l /opt/rootfs-arm64/usr/bin/openssl

ls -l /opt/rootfs-arm64/usr/lib/engines-1.1/capi.so

测试运行:

cd /opt/rootfs-arm64/usr/bin/
openssl version

将安装路径加入环境变量 path 和 ld_library_path::

export path=/opt/rootfs-arm64/usr/bin:$path
export ld_library_path=/opt/rootfs-arm64/usr/lib:$ld_library_path

1.3 下载zlib-1.3.1

wget https://zlib.net/fossils/zlib-1.3.1.tar.gz

检查文件大小:

ls -lh zlib-1.3.1.tar.gz 

解压文件:

tar -zxvf zlib-1.3.1.tar.gz

编译:

cc=aarch64-linux-gnu-gcc \
ar=aarch64-linux-gnu-ar \
ranlib=aarch64-linux-gnu-ranlib \
./configure --prefix=/opt/rootfs-arm64/usr

安装:

sudo make -j$(nproc)
sudo make install

验证安装:

ls -l /opt/rootfs-arm64/usr/lib/libz.so.1*

配置环境变量

临时生效:

export ld_library_path=/opt/rootfs-arm64/usr/lib:$ld_library_path
export path=/opt/rootfs-arm64/usr/bin:$path
echo '/opt/rootfs-arm64/usr/lib' sudo tee /etc/ld.so.conf.d/zlib.conf 
sudo ldconfig

若报错:path环境变量未包含/bin/usr/bin,导致系统找不到sudo命令

临时修复path环境变量

export path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$path

验证:

which sudo

永久修复path(推荐)

编辑用户级配置文件(如~/.bashrc~/.profile):

nano ~/.bashrc

在文件末尾添加以下行(确保包含基础路径):

export path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$path"

保存后生效:

source ~/.bashrc

修复path和权限后,重新运行:

echo '/opt/rootfs-arm64/usr/lib' | sudo tee /etc/ld.so.conf.d/zlib.conf
sudo ldconfig  # 更新库缓存

检查path是否包含基础路径:

echo $path | tr ':' '\n' | grep -e '^/bin|^/usr/bin'

测试sudo命令:

sudo -v  # 验证权限(无报错即成功)

到此这篇关于nginx的三个基础库:pcre、openssl、zlib的安装的文章就介绍到这了,更多相关nginx的三个基础库:pcre、openssl、zlib的安装内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com