Nginx配置實現基於tcp協議的反向 Proxy和負載平衡

來源:互聯網
上載者:User
1.安裝環境

系統內容:centos6.3_x64

軟體版本:nginx-1.4.2.tar.gz nginx_tcp_proxy_module-master.zip

2.軟體安裝cd /root/
wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.12/pcre-8.12.tar.gz
tar zxvf pcre-8.12.tar.gz
cd pcre-8.12/
./configure
make && make install
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
cd /root/
wget http://nginx.org/download/nginx-1.4.2.tar.gz
groupadd www
useradd -g www www
tar zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2/
# 到 https://github.com/yaoweibin/nginx_tcp_proxy_module 這個地址下載nginx_tcp_proxy_module模組
unzip nginx_tcp_proxy_module-master.zip
patch -p1 < /root/nginx-1.4.2/nginx_tcp_proxy_module-master/tcp.patch
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1c --add-module=/root/nginx-1.4.2/nginx_tcp_proxy_module-master
make && make install

3.nginx配置

# cat /usr/local/nginx/conf/nginx.conf
user www;
worker_processes 8; #等同於CPU核心數
error_log logs/error.log;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 51200;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
client_header_buffer_size 4k;
large_client_header_buffers 4 16k;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
gzip on;
}
tcp {
#### dhserver ####
upstream dh {
server 192.168.5.83:26888;
server 192.168.5.84:26888;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 26888;
proxy_pass dh;
}
#### mainserver ####
upstream main {
server 192.168.5.85:8088;
server 192.168.5.86:8088;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 8088;
proxy_pass main;
}
#### files ####
upstream files1 {
server 192.168.5.93:30001;
server 192.168.5.94:30001;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 30001;
proxy_pass files1;
}
upstream files2 {
server 192.168.5.93:30002;
server 192.168.5.94:30002;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 30002;
proxy_pass files2;
}

}

PS:之前做了大量的NGINX代理測試,轉寄基於連接埠的服務,但是都以失敗告終,只有這種方法可以嘗試使用。

另已安裝NGINX的伺服器,可能需要卸載重裝,因為打補丁階段是在安裝包裡打的,至少目前為止我還沒找到在已安裝好的nginx服務上打補丁。README裡也只是介紹在安裝包下面打補丁。

以上就介紹了Nginx配置實現基於tcp協議的反向 Proxy和負載平衡,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.