安裝必要的元件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

 

 

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料