unknown directive “stream“ in /etc/nginx/nginx.conf

文章目录
  1. 1. 概述
  2. 2. 解决办法
  3. 3. 参考文章

概述

在nginx配置里面添加了stream的相关代理,提示没有stream模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
stream{

map $ssl_preread_server_name $backend_server {
translate.googleapis.com $ssl_preread_server_name;
}

server {
listen 443;
listen [::]:443;
ssl_preread on;
proxy_pass $backend_server:$server_port;

resolver 223.5.5.5 223.6.6.6;
resolver_timeout 5000s;
proxy_timeout 15s;
proxy_connect_timeout 15s;
proxy_next_upstream_timeout 15s;
}
}

解决办法

nginx -V查看模块,发现有这个模块,但是去对应的目录下面没有找到so文件,所以可能是so文件缺失,需要安装。

搜了一下yum安装的nginx怎么安装扩展模块,最后得到如下脚本,依次执行即可。

1
2
3
4
5
6
# 安装nginx源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install epel-release

# 安装nginx所有模块
yum -y install nginx-all-modules.noarch

参考文章

https://rhel.pkgs.org/7/epel-testing-aarch64/nginx-all-modules-1.16.1-1.el7.noarch.rpm.html