nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

原因分析

Nginx 如果未开启 SSL 模块,配置 Https 时提示错误:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:59

我的 nginx 是编译安装的,默认选项 nginx 缺少 http_ssl_module 模块,编译安装的时候带上 --with-http_ssl_module 配置就行了,但是现在的情况是我的 nginx已经安装过了,怎么添加模块?

简单,重新编译,然后覆盖主程序。

解决

切换到源码包:

cd /usr/local/src/nginx-1.14.0

查看nginx原有的模块 :

/usr/local/nginx/sbin/nginx -V

在输出的 configure arguments: 后面显示的原有的 configure 参数如下:

--prefix=/usr/local/nginx

那么我们的新配置信息就应该这样写:

./configure --prefix=/usr/local/nginx --with-http_ssl_module

运行上面的命令即可,等配置完,配置完成后,运行命令 make

这里不要进行make install,否则就是覆盖安装。

先停止 nginx 服务,然后将刚刚编译好的 nginx 覆盖掉原有的 nginx:

cp ./objs/nginx /usr/local/nginx/sbin/

然后启动 nginx,仍可以通过命令查看是否已经加入成功:

/usr/local/nginx/sbin/nginx -V
如果觉得这对你有用,请随意赞赏,给与作者支持
评论 0
最新评论