Chỉ thị chưa biết luồng Stream trong /etc/nginx/nginx.conf:86


11

Tôi có nginx/1.12.0và theo tài liệu nó chứa streammô-đun. Tôi đã cài đặt nginx với các lệnh sau.

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

Tôi đã cố gắng thêm chỉ thị luồng trong nginx.conf:

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

Nhưng khi tôi khởi động lại, nginxtôi nhận được lỗi dưới đây trong nginxnhật ký

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

Tôi đã khắc phục lỗi này và một số người nói rằng tôi phải cài đặt / cấu hình mô-đun này một cách riêng biệt. Một số người nói rằng nó đi kèm với nginxbản phát hành 1.12.0. Ai đó có thể đề nghị làm thế nào tôi có thể cài đặt / cấu hình mô-đun này trên đã được cài đặt nginxkhông?

Trân trọng VG


Nginx có bắt đầu với mô-đun luồng được bật không? Xin vui lòng gửi đầu ra của nginx -V.
Joe Brailsford

Cảm ơn Joe, vì vậy tôi đã cập nhật câu hỏi của mình và dán đầu ra nginx -V của mình.
dùng3332404

Dưới / usr / lib / nginx / modules tôi có thể thấy sau module 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

Câu trả lời:


21

Mô-đun truyền phát đang được thêm dưới dạng động, theo:

--with-stream=dynamic

Bạn cần nó là 'tĩnh' - vì vậy hãy tải mô-đun trực tiếp. Để làm như vậy, hãy thêm phần sau vào đầu nginx.conf của bạn:

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

Sau đó:

nginx -t

Nếu tất cả đều tốt:

nginx -s reload
service nginx restart

Biên tập:

-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

Tuyệt vời!! không còn lỗi Cảm ơn rất nhiều Joe bạn là vị cứu tinh của tôi .BTW nginx thực sự là gì trong khi chạy cái này Tôi đang gặp lỗi dưới đây nginx: tùy chọn "-s" yêu cầu tham số
user3332404

Tôi chỉnh sửa câu trả lời của mình, tôi đã bỏ lỡ một chút. nginx -s tải lại quá trình tổng thể - khởi động lại dịch vụ về cơ bản cũng làm điều tương tự.
Joe Brailsford

những gì được streammô-đun sẽ làm gì? Công dụng của nó là gì
Satish

@JoeBrailsford Có cách nào để tự động hóa quy trình này bcoz EC2 sẽ không tồn tại vĩnh viễn đối với EBS, ngoài ra nếu bạn có thể giải thích tại sao Steam Module cần phải hoạt động tĩnh
Bikash

5

Không đủ danh tiếng để bình luận câu trả lời của Joe, vì vậy hãy viết ở đây:

Trên CentOS7, đường dẫn mô-đun nằm trong thư mục lib64. Vì vậy, bạn cần thêm dòng này:

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

2

Tôi đã gặp vấn đề này với nginxAmazon Linux chạy trên phiên bản AWS EC2 và /usr/lib64/nginx/modules/thư mục của tôi trống.

Tôi đã cài đặt mô-đun với yum:

yum install nginx-mod-stream

Các streamchỉ thị hoạt động ngay bây giờ mà không thay đổi nginx.conf.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.