ubuntu18.04LTS下解决Nginx添加openssl模块编译时报错问题
报错提示
make -f objs/Makefile
make[1]: Entering directory '/home/zhang/share/nginx-1.14.0'
make[1]: *** No rule to make target '/home/zhang/share/nginx-1.14.0/packages/include/openssl/ssl.h', needed by 'objs/src/core/nginx.o'. Stop.
make[1]: Leaving directory '/home/zhang/share/nginx-1.14.0'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2
解决方法
第一步安装libssl-dev
sudo apt-get install libssl-dev
点击参考链接
第二步下载libssl-dev
打开ubuntu包管理网址 https://packages.ubuntu.com/trusty/libssl-dev
下载http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1f.orig.tar.gz 解压文件
mkdir /home/zhang/share/nginx-1.14.0/packages
cd /home/zhang/share/nginx-1.14.0/packages/
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1f.orig.tar.gz
tar -xf openssl_1.0.1f.orig.tar.gz
第三步修改编译配置
打开nginx源文件下的/home/zhang/share/nginx-1.14.0/auto/lib/openssl/conf文件:
找到这么一段代码:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改成以下代码:
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/libcrypto.a"
最后一步编译安装
./configure --prefix=/home/zhang/share/nginx-1.14.0/local --with-openssl=/home/zhang/share/nginx-1.14.0/packages/openssl-1.0.1f --with-http_ssl_module
make && make install