今天再作nginx下https配置的时候,配置完nginx重启的时候,报了以下错误:nginx
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
缘由也很简单,nginx缺乏http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就好了,可是如今的状况是个人nginx已经安装过了,怎么添加模块,其实也很简单,往下看:bash
经过链接“http://nginx.org/download/nginx-1.6.2.tar.gz”下载源码,并解压到“/usr/local/src/nginx-1.6.2”目录。ui
步骤开始:线程
切换到源码包:code
cd /usr/local/src/nginx-1.6.2
查看nginx原有的模块ssl
/usr/local/nginx/sbin/nginx -V
那么咱们的新配置信息就应该这样写:源码
bash ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul
运行上面的命令便可,等配置完it
配置完成后,运行命令编译
make
这里不要进行make install,不然就是覆盖安装require
而后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
而后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要中止状态)
这个命令可能会出现“file busy”的问题,这是由于nginx其余线程占用,使用命令“fuser /usr/local/nginx/sbin/nginx” 查看占用线程名称,kill便可。
cp ./objs/nginx /usr/local/nginx/sbin/
提示是否覆盖,输入yes便可
而后启动nginx,仍能够经过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V