Mac 系统启用 Nginx 的 http_ssl_module 出错 /bin/sh: ./config: No such file or directory
问题描述
在 Mac 系统,编译 Nginx 的源码,启动 http_ssl 模块,运行以下命令。
$ ./configure --with-http_ssl_module
但是最后报错了。
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= option.
按照提示,安装了 openssl
brew install openssl
重新编译
$ ./configure --with-http_ssl_module --with-openssl=/usr/local/opt/openssl
$ make
运行 make
报错了。
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f objs/Makefile
cd /usr/local/opt/openssl \
&& if [ -f Makefile ]; then /Applications/Xcode.app/Contents/Developer/usr/bin/make clean; fi \
&& ./config --prefix=/usr/local/opt/openssl/.openssl no-shared no-threads \
&& /Applications/Xcode.app/Contents/Developer/usr/bin/make \
&& /Applications/Xcode.app/Contents/Developer/usr/bin/make install_sw LIBDIR=lib
/bin/sh: ./config: No such file or directory
make[1]: *** [/usr/local/opt/openssl/.openssl/include/openssl/ssl.h] Error 127
make: *** [build] Error 2
解决方法
下载 openssl 源码并解压。
$ curl -O https://www.openssl.org/source/openssl-1.1.1g.tar.gz
$ tar xf openssl-1.1.1g.tar.gz
不用编译 openssl 源码,重新带上 openssl 源码的路径。
$ ./configure --with-http_ssl_module --with-openssl=/Users/apple/Downloads/packages/openssl-1.1.1g
$ make
$ sudo make install