安裝必要的元件gcc、PRCE、openssl
yum -y install pcre-devel openssl openssl-devel gcc
開始安裝前要先編譯一下之後打補丁上去最後make install
tar zxvf nginx-1.4.2.tar.gz cd nginx-1.4.2 patch -p1 < /opt/nginx_tcp_proxy_module/tcp.patch ./configure --prefix=/usr/local/nginx --add-module=/opt/nginx_tcp_proxy_module make && make install
編譯詳細設定
--sbin-path=/usr/sbin/nginx --conf-path=/usr/local/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-ipv6 --add-module=/opt/nginx_tcp_proxy_module
防火牆設定在適當的地方加上以下句子
vi /etc/sysconfig/iptable
:RH-Firewall-1-INPUT - [0:0] -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10003 -j ACCEPT
設定檔路徑
cd /usr/local/nginx/conf
vi nginx.conf
include /usr/local/nginx/conf/setting/website_list/*.conf; #加入這行包含以下的設定檔 tcp{ timeout 1d; proxy_read_timeout 10d; proxy_send_timeout 10d; proxy_connect_timeout 30; access_log logs/tcp.access.log; include /usr/local/nginx/conf/setting/tcp_forwarding_list/*.conf; } #endof TCP ZONE
================================================
tcp forwarding sample
本機linsten 10003 做tcp forward 到來源192.168.1.128:10003 來取得資料
#tcp forwarding sample upstream tonyhack{ server 192.168.1.128:10003 weight=5; check interval=1000 rise=2 fall=5 timeout=1000 type=tcp; } server { listen 10003; proxy_pass tonyhack; so_keepalive on; tcp_nodelay on; access_log /usr/local/nginx/logs/10003.access.log; }
website forwording sample
本機linsten 80 及host域名(dns要指向到這台) 都去192.168.1.128:80 抓取http資料
#website upstream test2_pool{ server 192.168.1.128:80 weight=1 max_fails=2 fail_timeout=30s; } server{ listen 0.0.0.0:80; server_name www.abc.net www.def.net www.ijk.net www.lmn.net www.opq.net; location /{ #proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header; proxy_pass http://test2_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; access_log logs/test.access.log main; } }#endof "website" with cache setting
Hits: 141