Nginx 配置 SSL:解决 Nginx 报错 nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf
时间: 2024-01-02 16:04:15 浏览: 229
如果你在 Nginx 配置中加入了 `ssl` 相关指令,但启动时报出 `nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf` 的错误,这说明你的 Nginx 版本没有编译安装 OpenSSL 模块。
解决方法:
1.检查 Nginx 是否支持 OpenSSL 模块:
```
$ nginx -V
```
如果控制台输出中包含 `--with-http_ssl_module`,说明 Nginx 已经支持 OpenSSL 模块。
2.重新编译 Nginx:
如果你的 Nginx 没有支持 OpenSSL 模块,则需要重新编译 Nginx 并添加 OpenSSL 模块。具体步骤如下:
1)先安装 OpenSSL 库:
```
$ sudo apt-get install openssl
```
2)下载 Nginx 的源码包:
```
$ wget http://nginx.org/download/nginx-1.16.1.tar.gz
```
3)解压源码包:
```
$ tar -zxvf nginx-1.16.1.tar.gz
```
4)进入源码目录:
```
$ cd nginx-1.16.1
```
5)执行编译命令(需要添加 `--with-http_ssl_module` 参数):
```
$ ./configure --with-http_ssl_module
$ make && sudo make install
```
6)重新启动 Nginx 服务器:
```
$ sudo systemctl restart nginx
```
现在你可以尝试在 Nginx 配置中使用 `ssl` 相关指令了。
阅读全文