系统:
linux 版本:centOS7
nginx版本:nginx-1.20.2
linux安装nginx时 实行下面命令时报错:
- ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx
复制代码- checking for OpenSSL library ... not found
- checking for OpenSSL library in /usr/local/ ... not found
- checking for OpenSSL library in /usr/pkg/ ... not found
- checking for OpenSSL library in /opt/local/ ... not found
- ./configure: error: SSL modules require the OpenSSL library.
- You can either do not enable the modules, or install the OpenSSL library
- into the system, or build the OpenSSL library statically from the source
- with nginx by using --with-openssl=<path> option.
复制代码 分析:缘故原由是在 ./configure 时加了–with-http_ssl_module 这个必要依赖openssl 但是nginx没有找到
- --with-http_ssl_module 是 Nginx 编译时的参数,用于启用 SSL 支持。当启用此模块时,Nginx 将能够处理 HTTPS 请求,并且可以配置为代理其他服务器的 HTTPS 流量。
- 要在 Nginx 中启用 SSL 支持,你需要在编译 Nginx 时添加 --with-http_ssl_module 参数。这通常意味着你需要重新编译 Nginx,因为 SSL 支持是作为 Nginx 的一个模块来实现的。
- 如果不需要支持https 不用加此参数
复制代码 我查抄了一下linux是已经安装了openssl的 这说明nginx里配置的openssl路径和系统里的不是一个地方,我这里的openssl是系统安装时就自带的
- [root@localhost nginx-1.20.2]# rpm -qa|grep openssl
- openssl-libs-1.0.2k-19.el7.x86_64
- xmlsec1-openssl-1.2.20-7.el7_4.x86_64
- openssl-1.0.2k-19.el7.x86_64
- [root@localhost nginx-1.20.2]# openssl version
- OpenSSL 1.0.2k-fips 26 Jan 2017
复制代码 解决办法:
从官网下载openssl
https://openssl-library.org/source/
我下载的和我linux自带版本划一的openssl-1.0.2k.tar.gz
解压放在linux的/usr/local/src/package目录下(目录随你定 但是后面要用到 保持划一即可)
然后重新实行(记得切换到你解压后的nginx的bin目录实行).
注意./configure和之前比加了--with-openssl=/usr/local/src/package/openssl-1.0.2k
- #切换目录
- cd /usr/local/src/package/nginx-1.20.2
- #和之前比加了--with-openssl=/usr/local/src/package/openssl-1.0.2k
- #这个目录对应的是你上面解压的openssl的目录
- ./configure --with-http_stub_status_module --with-openssl=/usr/local/src/package/openssl-1.0.2k --with-http_ssl_module --prefix=/usr/local/nginx
复制代码 实行成功
后面再继续你的安装步骤即可
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |