Nginx报错unknown directive ssl

1.背景

在Linux服务器中发布了Web项目,需要配置SSL证书,首先需要将证书下载好。一顿操作猛如虎,
只欠重启。结果一重启,报了个错如下

nginx:[emerg]unknown directive ssl,

2.出错原因

nginx中未引用SSL模块,SSL证书需要引入相应的支持模块。同时这说明在一开始编译Nginx的时候并没有把SSL模块一起编译进去,所以导致这个错误的出现。

3.安装SSL模板

注:若已经安装过,无需卸载重新安装。只需要在原有的基础上添加ssl模块。


3.1 切换到****nginx源文件解压目录
示例:

 # 这是我这里文件的目录
 cd /usr/local/nginx-1.16.0


3.2 执行引入SSL模板命令

./configure --with-http_ssl_module


注:执行这一步常见错误:缺少 OpenSSL
若出现缺少 OpenSSL错误则执行,不出现错误则直接进入下一步(3.3)

# 安装 openssl
yum -y install openssl openssl-devel
# 安装完成以上再执行
./configure
# 再次执行 
./configure --with-http_ssl_module


3.3 执行编译命令make

make

注:make 而不是 make install, make 是编译,make install是重新安装了。

3.3 部署新编译的程序
在编译完成后,在**nginx解压目录下,我这里也就是 /usr/local/nginx-1.16.0 目录下会多一个 objs文件夹。
这就是新编译的程序所在文件夹。
由于存在老的nginx,先备份一下老的程序(当然如果不重要可以忽略)

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


复制新程序,到sbin目录下

cp /usr/local/nginx-1.16.0/objs/nginx /usr/local/nginx/sbin/nginx

在这里插入图片描述
3.4 验证SSL模板是否添加成功

nginx -V

nginx命令这里需要配置好环境变量,也可以使用 /usr/local/nginx/sbin/nginx -V 在这里插入图片描述如果出现如上图,则SSL模块添加到Nginx的编译好了,这次重新启动则OK了。

关注程序员小强公众号更多编程趣事,知识心得与您分享
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值