diretiva desconhecida “stream” em /etc/nginx/nginx.conf:86

6

Eu tenho o nginx / 1.12.0 e, como por documento, ele contém o módulo de fluxo. Eu instalei o nginx com os seguintes comandos.

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
nginx -v
nginx version: nginx/1.12.0

Eu tentei adicionar diretiva de fluxo em nginx.conf

stream {
    upstream sys {
        server 172.x.x.x:9516;
        server 172.x.x.x:9516;
    }
    server {
        listen 9516 udp;
        proxy_pass sys;
    }
}

mas quando eu reiniciar o nginx eu estou ficando abaixo do erro nos logs nginx

unknown directive "stream" in /etc/nginx/nginx.conf:86

nginx -V output

versão nginx: nginx / 1.12.0 construído com o OpenSSL 1.0.1f 6 jan 2014 Suporte a TLS SNI ativado configure argumentos: --with -cc-opt = '- g -O2 -fPIE -fstack-protector --param = ssp-buffer-size = 4 -Wformat -Werror = format-security -fPIC -D_FORTIFY_SOURCE = 2' - w ith-ld-opt = '- Wl, -Bsymbolic-functions -fPIE -pie -Wl, -z, relro -Wl, -z, agora -fPIC' --prefix = / usr / share / nginx --conf- caminho = / etc / nginx / nginx.conf --http-log-path = / var / log / nginx / access.log - erro-log-caminho = / var / log / nginx / error.log - bloqueio- caminho = / var / lock / nginx.lock - caminho do caminho = / run / nginx.pid --modules-caminho = / usr / lib / nginx / modules --http-client-body-temp-caminho = / var / lib / nginx / body -http-fastcgi-temp-p ath = / var / lib / nginx / fastcgi --http-proxy-temp-caminho = / var / lib / nginx / proxy --http-scgi-temp-caminho = / var / lib / nginx / scgi --http-uwsgi-temp-caminho = / var / lib / nginx / uwsgi --with-debug - -with-pcre-jit --with-http_ssl_module --with-http_stub_status_m odule --with-http_realip_module --with-http_auth_request_module --with-http_v2 _module --with-http_dav_module --with-http_slice_module --with-threads - com http_addition_module --with-http_geoip_module = dinâmico --with-http_gunzip_modul e --with-http_gzip_static_module --with-http_image_filter_module = dinâmico --wit h-http_sub_module --with-http_xslt_module = dinâmico --with-stream = dinâmico --with - stream_ssl_module --with-stream_ssl_preread_module --with-mail = dinâmico --with -mail_ssl_module --add-dynamic-module = / build / nginx-ZgS12K / nginx-1.12.0 / debian / modules / nginx-auth-pam - add-dynamic-module = / build / nginx-ZgS12K / nginx-1.12.0 / d ebian / modules / nginx-dav-ext-módulo --add-dynamic-module = / build / nginx-ZgS12K / ng inx-1.12.0 / debian / modules / nginx-echo --add-dynamic-module = / build / nginx-ZgS12K / nginx-1.12.0 / debian / modules / nginx-upstream-fair --add-dynamic-module = / build / ng inx-ZgS12K / nginx-1.12.0 / debian / modules / ngx_http_substitutions_filter_module

Eu pesquisei esse erro e algumas pessoas dizem que eu tenho que instalar / configurar este módulo separadamente. Alguns dizem que vem com o lançamento do nginx 1.12.0. Alguns podem sugerir como eu posso instalar / configurar este módulo no Nginx já instalado.

Cumprimentos VG

    
por user3332404 27.06.2017 / 09:45

2 respostas

10

O módulo de fluxo está sendo adicionado como dinâmico, conforme:

--with-stream=dynamic

Você precisa que ele seja 'estático' - então carregue o módulo diretamente. Para fazer isso, adicione o seguinte na parte superior do seu nginx.conf:

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

Então:

nginx -t

Se tudo estiver bem:

nginx -s reload
service nginx restart

Editar:

-s signal' Send signal to the master process. The argument signal can be one of: stop, quit, reopen, reload. The following table shows the corresponding system signals.

stop' SIGTERM
quit' SIGQUIT
reopen' SIGUSR1
reload' SIGHUP
    
por 27.06.2017 / 10:17
2

Não temos reputação suficiente para comentar a resposta de Joe, por isso escrevemos aqui:

No CentOS7, o caminho dos módulos localizado na pasta lib64. Então, você precisa adicionar esta linha:

load_module '/usr/lib64/nginx/modules/ngx_stream_module.so';
    
por 23.07.2018 / 14:16

Tags