nginx - 在编译新更新的 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 的最佳位置是什么?
谢谢你的帮助。
解决方案
/tmp/openssl-1.1.1
如果您打算将 Nginx 与 OpenSSL 动态链接,那么安装 OpenSSL并不是一个好主意,一些默认配置迟早systemd-tmpfiles
会清理以删除旧文件。/tmp
您是否考虑过使用同时可用的 EPEL 7openssl11-libs
和openssl11-devel
RPM 包,而不是自己构建 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
在此处使用。
推荐阅读
- c# - .Net Framework Web API FormsAuthentication.SetAuthCookie 不工作
- java - 提交后非法尝试将集合与两个打开的会话相关联
- reactjs - 如何组合来自父组件和子组件的 makeStyle 类?
- linux - “松散”的进程间通信
- c++ - 为什么这些类型不兼容?
- testing - 即使清除了 cookie,所有迭代的响应数据也相同
- android - Firebase Catch 异常 + Firebase 异常列表 Kotlin
- python - 是否有来自 win32api 的 GetLogicalDriveStrings() 的 mac 和 linux 版本?
- javascript - 做出反应。无法访问本地 5000 上的 API 数据。来自 CSV 文件的数据库。承诺未定义的响应
- javascript - Javascript 地图运算符