点击上方蓝字”运维笔谈”,对话回复 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》PDF。
有个朋友告诉我他那边升级了Openssl,然后重新编译NGINX的时候,指定了Openssl的安装路径,编译报错了,后来他直接指定Openssl的安装包就可以了。我问他Openssl的安装路径是哪个?他说是/usr/local/openssl ,这是一个非标准化的Openssl安装路径,我猜测NGINX在编译的时候可能没有找到对应的库文件位置。

那么在CentOS 7下,我们通常用yum安装的 Openssl 标准的安装路径具体是哪些呢?
一、openssl可执行文件的标准路径
比如我们使用yum安装OpenSSL时,其可执行文件(如openssl命令)通常会被放置在/usr/bin/目录下。

二、库文件的标准路径
库文件(.so文件),使用系统包管理器安装,通常会被放置在 /usr/lib/(32位系统)或 /usr/lib64/(64位系统)目录下。

三、头文件的标准路径
头文件(.h文件),如果使用系统包管理器安装,通常会被放置在/usr/include/openssl/目录下。

四、非标准Openssl安装路径,NGINX编译的时候如何指定呢?
假如我们是编译安装了Openssl,并且路径是 /usr/local/openssl,我们需要指定下库文件和头文件的具体路径,参考如下:
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATHexport CPATH=/usr/local/openssl/include:$CPATH./configure --with-openssl=/path/to/openssl # 注意这里的路径可能不需要,除非你的 OpenSSL 源码有特殊的配置脚本makesudo make install

文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




