"stream" direktif tidak dikenal di /etc/nginx/nginx.conf:86


11

Saya sudah nginx/1.12.0dan sesuai dokumen itu berisi streammodul. Saya telah menginstal nginx dengan perintah berikut.

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

Saya mencoba menambahkan arahan aliran di nginx.conf:

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

tetapi ketika saya restart nginxsaya mendapatkan kesalahan di bawah ini di nginxlog

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

Saya mencari kesalahan ini di Google dan beberapa orang mengatakan saya harus menginstal / mengkonfigurasi modul ini secara terpisah. Beberapa mengatakan itu datang dengan nginxrilis 1.12.0. Adakah yang bisa menyarankan bagaimana saya dapat menginstal / mengkonfigurasi modul ini pada yang sudah diinstal nginx?

Salam VG


Apakah Nginx dimulai dengan modul stream diaktifkan? Silakan kirim output dari nginx -V.
Joe Brailsford

Terima kasih Joe, Jadi saya telah memperbarui pertanyaan saya dan menempelkan output nginx -V saya.
user3332404

Di bawah / usr / lib / nginx / modul Aku bisa melihat berikut modul 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
user3332404

Jawaban:


21

Modul stream ditambahkan sebagai dinamis, sesuai:

--with-stream=dynamic

Anda perlu menjadi 'statis' - jadi muat modul secara langsung. Untuk melakukannya, tambahkan berikut ini di bagian paling atas nginx.conf Anda:

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

Kemudian:

nginx -t

Jika semuanya baik-baik saja:

nginx -s reload
service nginx restart

Edit:

-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

Hebat !! tidak ada lagi kesalahan. Terima kasih banyak Joe Anda adalah penyelamat saya .BTW apa nginx -s sebenarnya saat menjalankan ini saya mendapatkan di bawah ini kesalahan nginx: opsi "-s" memerlukan parameter
user3332404

Saya mengedit jawaban saya, saya sedikit ketinggalan. nginx -s memuat ulang proses master - layanan restart pada dasarnya melakukan hal yang sama.
Joe Brailsford

Apa yang streamakan dilakukan modul? apa gunanya
Satish

@ JoBrailsford Apakah ada cara untuk mengotomatiskan proses ini karena EC2 misalnya tidak akan permanen untuk EBS, juga jika Anda dapat Anda menjelaskan mengapa Modul Steam harus statis untuk bekerja
Bikash

6

Tidak punya cukup reputasi untuk mengomentari jawaban Joe, jadi tulis di sini:

Pada CentOS7, jalur modul berada di bawah folder lib64. Jadi, Anda perlu menambahkan baris ini:

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

2

Saya telah menemukan masalah ini dengan nginxdi Amazon Linux yang berjalan pada AWS EC2 misalnya, dan /usr/lib64/nginx/modules/folder saya kosong.

Saya menginstal modul dengan yum:

yum install nginx-mod-stream

The streamdirektif bekerja sekarang tanpa mengubah nginx.conf.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.