अज्ञात निर्देश "स्ट्रीम" में /etc/nginx/nginx.conf:86


11

मेरे पास nginx/1.12.0और दस्तावेज़ के अनुसार इसमें streamमॉड्यूल है। मैंने निम्नलिखित कमांड के साथ nginx स्थापित किया है।

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

मैंने इसमें धारा निर्देश जोड़ने की कोशिश की nginx.conf:

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

लेकिन जब मैं पुनः आरंभ करता nginxहूं तो मुझे nginxलॉग में त्रुटि हो रही है

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

मैंने इस त्रुटि को जाना और कुछ लोगों का कहना है कि मुझे इस मॉड्यूल को अलग से स्थापित / कॉन्फ़िगर करना है। कुछ का कहना है कि यह nginx1.12.0 रिलीज के साथ आता है । क्या कोई सुझाव दे सकता है कि मैं पहले से स्थापित इस मॉड्यूल को कैसे स्थापित / कॉन्फ़िगर कर सकता हूं nginx?

सादर वीजी


क्या Nginx स्ट्रीम मॉड्यूल से शुरू हो रहा है? का उत्पादन पोस्ट करें nginx -V
जो ब्रेस्फोर्ड

धन्यवाद जो, इसलिए मैंने अपना प्रश्न अपडेट किया है और अपना nginx -V आउटपुट पेस्ट किया है।
user3332404

/ Usr / lib / nginx / मॉड्यूल मैं देख सकता हूँ निम्नलिखित मॉड्यूल 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 के तहत
user3332404

जवाबों:


21

स्ट्रीम मॉड्यूल को गतिशील के अनुसार जोड़ा जा रहा है:

--with-stream=dynamic

आपको इसे 'स्थिर' होने की आवश्यकता है - इसलिए मॉड्यूल को सीधे लोड करें। ऐसा करने के लिए, अपने nginx.conf के शीर्ष पर निम्नलिखित जोड़ें:

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

फिर:

nginx -t

अगर सब ठीक है:

nginx -s reload
service nginx restart

संपादित करें:

-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

बहुत बढ़िया!! कोई और त्रुटि नहीं। बहुत बहुत धन्यवाद जो आप मेरे उद्धारकर्ता हैं। BTW वास्तव में nginx -s क्या है, जबकि इसे चलाने के दौरान मुझे त्रुटि nginx नीचे मिल रही है: विकल्प "-s" के लिए पैरामीटर आवश्यक है
user3332404

मैंने अपना उत्तर संपादित किया, मैं थोड़ा चूक गया। nginx -s reload मास्टर प्रक्रिया को पुनः लोड करता है - सेवा पुनरारंभ मूल रूप से एक ही काम करता है।
जो ब्रेस्फोर्ड

streamमॉड्यूल क्या करने जा रहा है? इसका क्या उपयोग है
सतीश

@JoeBrailsford इस प्रक्रिया को स्वचालित करने का कोई तरीका है bcoz EC2 उदाहरण EBS के लिए स्थायी नहीं होगा, अगर आप यह भी बता सकें कि स्टीम मॉड्यूल को काम करने के लिए स्थिर होने की आवश्यकता क्यों है
बिकाश

6

जो के उत्तर पर टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है, इसलिए यहां लिखें:

CentOS7 पर, मॉड्यूल पथ lib64 फ़ोल्डर के अंतर्गत स्थित है। तो, आपको यह पंक्ति जोड़ने की आवश्यकता है:

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

2

मैं इस मुद्दे nginxपर AWS EC2 उदाहरण पर चल रहे अमेज़ॅन लिनक्स पर आया हूं , और मेरा /usr/lib64/nginx/modules/फ़ोल्डर खाली था।

मैंने मॉड्यूल को इसके साथ स्थापित किया है yum:

yum install nginx-mod-stream

streamनिर्देश बदले बिना अब काम करता है nginx.conf

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.