nginx配置tcp反向代理及负载均衡

nginx配置tcp反向代理及负载均衡(基于已有的nginx)

1:下载nginx源码包

 wget http://nginx.org/download/nginx-1.4.7.tar.gz

2:下载nginx tcp模块包

wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

3:查看nginx已经加载了哪些模块

/usr/local/nginx/sbin/nginx -V
 可以看到已引入的模块:	--with-http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --with-http_image_filter_module

4:解压nginx和tcp包,进入解压后的nginx源码包

执行下面的配置shell(引入tcp和之前的模块)
./configure  --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --with-http_image_filter_module --add-module=../nginx_tcp_proxy_module-master/

5:编译nginx

make    //此处千万不要执行make install ,否则会覆盖原先的nginx
编译完成后,会在此目录生成1个objs的目录,里面的nginx就是新的执行文件

6:备份原先的nginx执行文件

cp /usr/local/nginx/sbin/nginx 
nginx_back

7: 拷贝新的nginx执行文件

cp ../nginx-1.4.7/objs/nginx /usr/local/nginx/sbin/
拷贝之前,记得停掉之前的nginx进程

8 :建立新的tcp的nginx的配置文件

大致如下:tcp.conf(可在nginx.conf主配置文件中include,但是需要在http节点外面include)
例如:

include streams/tcp.conf.conf;                    
	http {                                     
}    
 
tcp.conf 配置如下:
tcp {
    upstream tcp_cluster {  
        # simple round-robin
        server 127.0.0.1:8992;
        check interval=3000 rise=2 fall=5 timeout=1000;
    }  
  
    server {  
        listen 9104;
        proxy_pass tcp_cluster;  
    }  
} 

说明:
check interval 健康检查,单位是毫秒
rise 检查几次正常后,将reslserver加入以负载列表中
fall 检查几次失败后,摘除realserver
timeout 检查超时时间,单位许毫秒

直接安装全新nginx时候会遇到的问题:

问题1:

./configure: error: SSL modules require the OpenSSL library.
解决办法 :
yum -y install openssl openssl-devel

问题2:

configure: error: the HTTP image filter module requires the GD library.
解决办法:
yum install gd-devel

问题3:

[objs/addon/nginx_tcp_proxy_module-master/ngx_tcp_upstream.o] Error 1
解决办法:进入nginx目录执行(缺少补丁)
patch -p1 < /opt/software/nginx_tcp_proxy_module/tcp.patch

sudo kill ps -ef | grep 'nginx' | awk '{print $2}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值