2016-01-05 20 views
5

Desidero utilizzare Nginx 1.9 per essere un servizio di bilanciamento del carico TCP. Ho seguito il tutorial in https://www.nginx.com/resources/admin-guide/tcp-load-balancing/ ma non ha funzionato.Configurare Nginx come bilanciamento del carico TCP

errori Ogni volta che ho provato ad avviare nginx, ho:

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

Ecco il mio file nginx.conf:

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; 
    } 
} 

Vuoi pls mi dicono come configurare nel modo giusto ?

risposta

8

Il modo migliore sta compilando nginx dalla sorgente per supportare stream direttiva:

./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

È grandioso, ma presumibilmente si intendeva solo un './Configure' nel primo comando? –

+0

@JimW: corretto! L'ho riparato. – anhldbk

5

Utilizzando Homebrew su OS X, questo può essere fatto con:

brew install nginx-full --with-stream 

Questo potrebbe richiedere all'utente di installare il rubinetto homebrew-nginx, nel qual caso potrebbe essere necessario eseguire

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

per assicurarsi che il rubinetto venga installato per primo.

+1

Si potrebbe volere anche il modulo SSL del flusso. Stavo cercando di ottenere una build funzionalmente equivalente a quella usata nell'immagine docker di Alpine nginx, e stanno usando gli stessi parametri di build dei binari di nginx ufficiali pre-costruiti: – 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

Installa con brew e flusso SSL, ma senza fortuna: 'brew install homebrew/nginx/nginx-full --with-stream --with-stream_ssl_module'. Sembra solo spogliare quest'ultimo (insieme ad eventuali parametri sconosciuti). Posso verificarlo con 'nginx -V'. Infatti, dell'elenco @DanielSmedegaardBuus pubblicato, solo '--with-mail' e' --with-stream' sembrano funzionare. L'ho risolto installandolo sulla mia macchina virtuale Linux, ma forse qualcuno qui conosce la soluzione usando brew? –

Problemi correlati