不知为何,相同的nginx版本,在debian 8和ubuntu 16.04上面一切正常,但是在ubuntu 18和debian 9上面死活认不到stream模块。

 

google了一下,才知道需要手工加载这个模块,可我明明看到已经自动加载了啊。。。

 

解决方法:

在nginx.conf的第一行插入:

load_module /usr/lib/nginx/modules/ngx_stream_module.so;
load_module /usr/lib/nginx/modules/ngx_stream_module.so;
load_module /usr/lib/nginx/modules/ngx_stream_module.so;

 

然后问题解决。

 

莫名其妙的……

 

=====================

 

模板太老了,评论显示不出,估计和新版不太友好,复制在这里吧。

每个系统默认的路径是不一样的,一般安装nginx的时候会有个提示信息的,nginx -V可以找到一部分信息,再不行就find一下就是了。FreeBSD用pkg安装的话在/usr/local/libexec/nginx/,Debian 10 apt安装在/usr/lib/nginx/modules/,其他系统我不用,就不清楚了。

By 听涛

《解决unknown directive "stream" in /etc/nginx/nginx.conf问题》有3条评论
  1. hi,

    我在/usr/local/nginx/conf/nginx.conf的第一行添加了:
    /usr/lib64/nginx/modules/ngx_stream_module.so
    但是启动nginx,遇错如下,不知道为什么?
    我的vps是64位,没有/usr/lib目录,但是有/usr/lib64目录。

    [root@host ~]# nginx
    nginx: [emerg] dlopen() "/usr/lib64/nginx/modules/ngx_stream_module.so" failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: ngx_inet_wildcard) in /usr/local/nginx/conf/nginx.conf:1
    [root@host ~]#

    谢谢回复。

    1. 这个,每个系统默认的路径是不一样的,一般安装nginx的时候会有个提示信息的,nginx -V可以找到一部分信息,再不行就find一下就是了。FreeBSD用pkg安装的话在/usr/local/libexec/nginx/,Debian 10 apt安装在/usr/lib/nginx/modules/,其他系统我不用,就不清楚了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 × 2 =

提示: 评论内容需要包含中文,否则会被当做spam屏蔽!