首页 > 解决方案 > 在编译新更新的 nginx 之前在 Centos 7 上安装更新的 Openssl,但是将源目录放在哪里?

问题描述

我正在尝试在 Centos 7 服务器上更新 nginx。我需要更新的openssl,所以我安装了openssl-1.1.1,但/tmp/openssl-1.1.1没有意识到稍后会需要它来更新nginx。我make使用该 openssl 目录执行了 nginx 命令,并且它起作用了。但是,我还没有完成make install

我应该将 openssl 重新安装到更合适的源目录中,还是可以保持原样,继续编译 nginx?或者,是否可以只移动 openssl-1.1.1 目录,然后从那里重新安装,然后编译 nginx?安装 openssl 的最佳位置是什么?

谢谢你的帮助。

标签: nginxinstallationopensslcentos7

解决方案


/tmp/openssl-1.1.1如果您打算将 Nginx 与 OpenSSL 动态链接,那么安装 OpenSSL并不是一个好主意,一些默认配置迟早systemd-tmpfiles会清理以删除旧文件。/tmp

您是否考虑过使用同时可用的 EPEL 7openssl11-libsopenssl11-develRPM 包,而不是自己构建 OpenSSL(也包括未来的安全更新)?它提供与 RHEL/CentOS 8 相同的 OpenSSL 版本。

在构建之前,您需要稍微扩展$CFLAGS$LDFLAGS例如:

export CFLAGS="$CFLAGS $(pkg-config --cflags openssl11)"
export LDFLAGS="$LDFLAGS $(pkg-config --libs openssl11)"

或者,如果./configure支持直接传递 pkg-config*.pc文件,请openssl11在此处使用。


推荐阅读