nginx启动报 ssl parameter requires ngx_http_ssl_module

更新网站安全证书时报上面的错,解决步骤:

问题分析

原因:nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块?以我的nginx为例子

①nginx的安装目录是/usr/local/nginx这个目录,

②源码包在/usr/local/src/nginx-1.8.0目录

解决过程

注:

1、如果是使用yum 安装等方式,找不到源码包,需要下载当前安装相同版本的源码包:

复制代码
wget http://nginx.org/download/nginx-1.8.0.tar.gz

使用nginx -V查询当前Nginx的编译配置信息,configure arguments: 后面为当前运行Nginx的配置信息

复制代码
(base) [root@iZxpl4sxxnloovZ nginx-1.8.0]# nginx -V
nginx version: nginx/1.8.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
configure arguments: --prefix=/usr/local/nginx

2、 切换到源码目录:

复制代码
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

执行结果如下:

复制代码
(base) [root@iZxpl4sxxnloovZ nginx-1.8.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
checking for OS
 + Linux 3.10.0-1062.9.1.el7.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
  ... 省略部分
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3、编译 : make (这里不要进行make install,否则就是覆盖安装)

复制代码
(base) [root@iZxpl4sxxnloovZ nginx-1.8.0]# make
make -f objs/Makefile
make[1]: Entering directory `/usr/local/src/nginx-1.8.0'
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
        -o objs/src/core/nginx.o \
        src/core/nginx.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
        -o objs/src/core/ngx_log.o \

4、 备份原来nginx配置文件

复制代码
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

5、保证nginx是关闭状态
nginx -s stop

如果无法关闭,可以使用杀死进程方式关闭:ps -ef | grep nginx

进程

强制退出:kill -9 nginx

6、复制刚编译生成的配置覆盖原有的配置

复制代码
cp ./objs/nginx /usr/local/nginx/sbin/

(其中/usr/local/nginx/sbin/路径是你所使用的Nginx所在的位置。比如我不用/usr/local/nginx中的Nginx,只需将路径修改至或者复制到你所使用的Nginx的sbin位置即可)

7、启动nginx : nginx

相关推荐
0和1的舞者4 小时前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节
努力进修5 小时前
跨地域传文件太麻烦?Nginx+cpolar 让本地服务直接公网访问
运维·nginx·cpolar
huangdengji6 小时前
基于openresty反向代理、dns劫持、实现对http请求、响应内容抓包
网络协议·http·openresty
夜郎king8 小时前
UniHttp/Jsoup Https SSL证书验证失败:SunCertPathBuilderException解决方案详解
https·ssl·jsoup访问https·unihttp访问https
神仙别闹9 小时前
基于C语言 HTTP 服务器客户端的实验
服务器·c语言·http
rit843249911 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
一勺菠萝丶11 小时前
芋道后端部署后总自己挂?从 Nginx 报错到 OOM Kill 的完整排查与修复(2核2G 服务器实战)
服务器·chrome·nginx
打不了嗝 ᥬ᭄12 小时前
【Linux】网络层协议
linux·网络·c++·网络协议·http
一叶飘零_sweeeet12 小时前
Java 项目 HTTP+WebSocket 统一权限控制实战
java·websocket·http·权限控制
进击的圆儿12 小时前
HTTP协议深度解析:从基础到性能优化
网络协议·http·性能优化