2016-01-05 9 views
5

Nginx 1.9をTCPロードバランサとして使用したい。私はhttps://www.nginx.com/resources/admin-guide/tcp-load-balancing/のチュートリアルに従ったが、うまくいかなかった。NginxをTCPロードバランサに設定する

私はnginxのを開始しようとしたたびに、私はエラーを持っている:

events { 
    worker_connections 1024; 
} 


http { 
# blah blah blah 
} 

stream { 
    upstream backend { 
     server 127.0.0.1:9630; 
     server 127.0.0.1:9631; 
    } 
    server { 
     listen 2802; 
     proxy_connect_timeout 1s; 
     proxy_timeout 3s; 
     proxy_pass backend; 
    } 
} 

あなたはplsは右のそれを設定する方法を教えます:

nginx: [emerg] unknown directive "stream" in /opt/nginx/nginx.conf 
ここ

は私のnginx.confファイルがあります?

答えて

8

最良の方法は、streamディレクティブをサポートするためにソースからnginxのをコンパイルされています

./configure --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx --conf-path=/opt/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-threads --with-stream --with-http_slice_module 
make 
sudo make install 
+0

これは素晴らしいことですが、最初のコマンドで '。/ configure'を1つだけ使用したと思われますか? –

+0

@JimW:正解!それを私が直した。 – anhldbk

5

OS X上でHomebrewを使用し、これはと行うことができます。

brew install nginx-full --with-stream 

これは、最初のインストールを要求されることがありますhomebrew-nginxタップ、この場合は実行する必要があります。

brew install homebrew/nginx/nginx-full --with-stream 

をクリックして、タップが最初にインストールされていることを確認します。

+1

ストリームSSLモジュールも必要です。私はアルパインのnginxドッカー画像で使用されているものと機能的に同等のビルドを得ようとしていましたが、あらかじめ構築された公式のnginxバイナリと同じビルドパラメータを使用しています: – DanielSmedegaardBuus

+0

'--with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with -ipv6' – DanielSmedegaardBuus

+0

bluとSSLストリームをインストールしますが、運がない場合は、 'brew install homebrew/nginx/nginx-full --with-stream --with-stream_ssl_module'と入力します。後者は(未知のパラメータとともに)剥ぎ取っているようです。これを 'nginx -V'で確認できます。実際、リスト@DanielSmedegaardBuusのうち、 '--with-mail'と' --with-stream'だけが動作するようです。代わりに私のLinux VMにインストールすることで解決しましたが、ここで誰かがbrewを使って解決策を知っていますか? –

関連する問題