nginx tcp端口一对多转发 nginx转发tcp协议 |
您所在的位置:网站首页 › nginx转发tcp协议 › nginx tcp端口一对多转发 nginx转发tcp协议 |
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配置
PS:之前做了大量的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; } }如果之前安装过nginx服务,需要增加模块,需要对nginx进行升级,升级步骤如下: 以nginx_tcp_proxy_module模块为例。 1、先切换到nginx的源码目录下 cd /root/nginx/nginx-1.4.2 执行 patch -p0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |