当前位置:   article > 正文

Nginx报错unknown directive ssl_unknown directive "ssl

unknown directive "ssl

1.背景

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

nginx:[emerg]unknown directive ssl,
  • 1

2.出错原因

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

3.安装SSL模板

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


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

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


3.2 执行引入SSL模板命令

./configure --with-http_ssl_module
  • 1


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

# 安装 openssl
yum -y install openssl openssl-devel
# 安装完成以上再执行
./configure
# 再次执行 
./configure --with-http_ssl_module
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


3.3 执行编译命令make

make
  • 1

注: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
  • 1


复制新程序,到sbin目录下

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

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

nginx -V
  • 1

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/662169
推荐阅读
相关标签
  

闽ICP备14008679号