已安装nginx支持https配置 the "ssl" parameter requires ngx_http_ssl_module

原文链接:https://blog.seosiwei.com/detail/28

nginx已安装,ssl模块未安装的解决方法:

如果需要在linux中编译自己的nginx服务器,请参照:https://www.cnblogs.com/zkfopen/p/10118627.html

一:开始Nginx的SSL模块

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

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

解释:nginx缺少http_ssl_module模块,需要在已安装的nginx中添加ssl模块。

说明:我的nginx安装目录为:/usr/local/nginx  , 源码包在/usr/src/nginx-1.5.9目录

Nginx开启SSL模块:

切换到源码包:
cd /usr/src/nginx-1.5. 查看nginx原有的模块
/usr/local/nginx/sbin/nginx -V 在configure arguments:后面显示的原有的configure参数如下:
--prefix=/usr/local/nginx --with-http_stub_status_module

二:从新配置SSL模块:

进入nginx源码包目录,运行:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

配置完成后,运行命令make命令:

make

注意:此处不能进行make install,否则就是覆盖安装

三:替换已安装好的nginx包

替换之前先备份:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

先停止nginx服务:

//查询nginx主进程号
$ ps -ef | grep nginx //从容停止Nginx:
$kill -QUIT 主进程号 //快速停止Nginx:
kill -TERM 主进程号 //强制停止Nginx:
pkill - nginx

将刚刚编译好的nginx覆盖掉原有的nginx

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

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

/usr/local/nginx/sbin/nginx -V
此时应该显示为即配置成功:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
上一篇:SUDO:/ETC/SUDOERS 可被任何人写 解决方案


下一篇:C语言的抽象与函数指针--思想(转)