/etc/nginx/nginx.conf:86 içindeki bilinmeyen yönerge “stream”


11

Ben var nginx/1.12.0ve belgeye göre streammodül içerir . Nginx'i aşağıdaki komutlarla yükledim.

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

Akış yönergesi eklemek için çalıştı nginx.conf:

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

ama yeniden başlattığımda günlüklerde nginxhata alıyorumnginx

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

nginx -V output
nginx version: nginx/1.12.0
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --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,now -fPIC'                                                                                           --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/                                                                                          var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path                                                                                          =/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/                                                                                          modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-p                                                                                          ath=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-                                                                                          scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/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 --with-                                                                                          http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_modul                                                                                          e --with-http_gzip_static_module --with-http_image_filter_module=dynamic --wit                                                                                          h-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with                                                                                          -stream_ssl_module --with-stream_ssl_preread_module --with-mail=dynamic --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-module --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

Ben bu hatayı googled ve bazı millet bu modülü ayrı ayrı kurmak / yapılandırmak gerektiğini söylüyor. Bazıları bunun nginx1.12.0 sürümü ile geldiğini söylüyor . Birisi bu modülü zaten kurulu olarak nasıl kurabileceğimi / yapılandırabileceğimi önerebilir nginxmi?

Saygılarımızla VG


Akış modülü etkinken Nginx başlatılıyor mu? Lütfen çıktısını gönderin nginx -V.
Joe Brailsford

Teşekkürler Joe, Bu yüzden sorumu güncelledim ve nginx -V çıktımı yapıştırdım.
user3332404

/ Usr / lib / nginx / modülleri görebildiğim şu modülleri ngx_http_image_filter_module.so ngx_http_geoip_module.so ngx_http_echo_module.so ngx_http_dav_ext_module.so ngx_http_auth_pam_module.so ngx_stream_module.so ngx_mail_module.so ngx_http_xslt_filter_module.so ngx_http_upstream_fair_module.so ngx_http_subs_filter_module.so Altında
user3332404

Yanıtlar:


22

Akış modülü aşağıdaki gibi dinamik olarak eklenmektedir:

--with-stream=dynamic

'Statik' olması gerekir - modülü doğrudan yükleyin. Bunu yapmak için, nginx.conf dosyanızın en üstüne aşağıdakileri ekleyin:

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

Sonra:

nginx -t

Her şey yolundaysa:

nginx -s reload
service nginx restart

Düzenle:

-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

Korku veren !! başka hata yok. Çok teşekkür ederim Joe sen benim kurtarıcı .BTW ne nginx -s aslında bu çalışırken ben hata nginx aşağıda alıyorum: seçenek "-s" parametre gerektirir
user3332404

Cevabımı düzenledim, biraz özledim. nginx -s reload ana işlemi yeniden yükler - servis yeniden başlatma temelde aynı şeyi yapar.
Joe Brailsford

streammodül ne yapacak? bunun kullanımı nedir
Satish

@JoeBrailsford Bu işlemi otomatikleştirmenin herhangi bir yolu var mı? Bcoz EC2 örneği EBS için kalıcı olmayacak, ayrıca Steam Modülünün çalışmak için neden statik olması gerektiğini de açıklayabilirseniz
Bikash

6

Joe'nun cevabını yorumlamak için yeterli üne sahip değilsiniz, bu yüzden buraya yazın:

CentOS7'de, lib64 klasörü altında bulunan modüller yolu. Yani, bu satırı eklemeniz gerekiyor:

load_module '/usr/lib64/nginx/modules/ngx_stream_module.so';

2

nginxAWS EC2 örneğinde çalışan Amazon Linux'ta bu sorunla karşılaştım ve /usr/lib64/nginx/modules/klasörüm boştu.

Modülü aşağıdakilerle kurdum yum:

yum install nginx-mod-stream

streamYönergesi değiştirmeden artık çalışıyor nginx.conf.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.