nginx tcp代理服务器 怎么样

ZOMBIE86 的BLOG
用户名:ZOMBIE86
文章数:46
访问量:4344
注册日期:
阅读量:5863
阅读量:12276
阅读量:379130
阅读量:1071633
51CTO推荐博文
Nginx,一款当前拥有“土豪金”身份的web服务器软件和反向代理软件,以其高性能,文档性,丰富功能模块,结构简单,低资源消耗的特性,以绝对性优势拥有“土豪金”这一名誉称号。Nginx默认不支持基于tcp协议的代理,中午饭后谷歌一把,发现了国内的一个牛人开发了一个tcp代理的第三方模块,赶紧膜拜下!哪天我也能像人家那样挥一挥手写个模块用用那该多好了……入正题:我的kvm只有一个公网IP,创建了VM后,VM只分配了一个私有地址,但是我又不想使用kvm的console控制口,以及那极不安全的vnc桌面。因此,代理sshd服务的需求有了。入手:sshd服务是基于tcp协议的,因此需要nginx支持tcp协议代理,谷歌一把找到了这个第三方代理模块nginx_tcp_proxy_module,其Github地址:安装部分:下载nginx源码包,下载nginx_tcp_proxy_module模块源码#&wget&http://nginx.org/download/nginx-1.2.1.tar.gz
#&git&clone&/yaoweibin/nginx_tcp_proxy_module.git
#&tar&zxf&nginx-1.2.1.tar.gz
#&cd&nginx-1.2.1
#&patch&Cp1&&&/root/nginx_tcp_proxy_module/tcp.patch注:这里有个问题,刚开始我使用的nginx的源码包在进行安装补丁的时候提示如下错误:Perhaps you used the wrong -p or Cstrip option?The text leading up to this was:――――――――C|diff Cgit a/src/core/ngx_log.c b/src/core/ngx_log.c|index c0485c6..bfb1f5c 100644|― a/src/core/ngx_log.c|+++ b/src/core/ngx_log.c――――――――C后来更换了源码包后再进行补丁安装后就正常了&在你本机nginx的编译选项上增加以下参数:Cadd-module=/root/nginx_tcp_proxy_module随后,make && make install配置部分:根据个人习惯,以下为我的配置,小伙伴们根据语法习惯自行修改即可1.在nginx的主配置文件nginx.conf中的一级块中添加如下内容:tcp&{
include&tcp_proxy/*.
}2.在其相对位置创建tcp_proxy目录,并在该目录下创建一个配置文件,名为:proxy_sshd.conf,内容如下:upstream&sshd&{
server&192.168.6.110:22;
listen&22;
proxy_pass&
}3. Description其实它的配置和nginx的配置是严格一致的,它所带的一些参数配置我了解的还不多,不过在Github上作者也做出的有详细介绍。各位小伙伴可以去感受下。再附传送门:本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)Nginx支持TCP负载均衡之nginx 实现mysql的负载均衡 - 为程序员服务
Nginx支持TCP负载均衡之nginx 实现mysql的负载均衡
背景:如果nginx代理这个80到swoole(用swoole做webserver,其实就是做个转发和html解析。),这个代理是个什么概念,那这个socket的fd是不是就没法长连接了呢??被反向80端口代理的swoole还能长连接?用:nginx_tcp_proxy_module才行 ,否则肯定不行啊,即使http的keep-alive,/yaoweibin/nginx_tcp_proxy_module 也就是说nginx的http代理长连接不行,得走tcp这一层才行,用haproxy。nginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司的的负载均衡都是nginx所以决定研究一下nginx的这个功能实现,下面简单介绍一下实现方法:1.下载module模块下载地址 : /yaoweibin/nginx_tcp_proxy_module/zipball/master&&&&&&&&$ wget 'http://nginx.org/download/nginx-1.2.1.tar.gz'&&&&&&&&$ tar -xzvf nginx-1.2.1.tar.gz&&&&&&&&$ cd nginx-1.2.1/&&&&&&&&$ patch -p1 & /path/to/nginx_tcp_proxy_module/tcp.patch&&/path是指nginx_tcp_proxy_module路径&&&&&&&&$&&./configure --add-module=/usr/local/ngx_cache_purge-1.4&&--prefix=/usr/local/nginx --with-http_stub_status_module --add-module=/path/to/nginx_tcp_proxy_module&& //编译&&&&&&&&$ make&&&&&&&&$ make install2、修改nginx配置文件:&&http {&&&&&&&&server {&&&&&&&&&&&&listen 80;&&&&&&&&&&&&location /status {&&&&&&&&&&&&&&&&check_&&&&&&&&&&&&}&&&&&&&&}&&&&}tcp {&&&&&&upstream mysql{&&&&&&server 10.10.10.17:3306 weight=1;&&&&&&server 10.10.10.18:3306 weight=1;&&&&&&#check interval=3000 rise=2 fall=5 timeout=1000;&&&&&&}&&&&&&server {&&&&&&listen 3306;&&&&&&proxy_&&&&&& }}这样就完成了配置,启动nginx进行测试,下面是测试中打印的log: 18:22:32 [.10.107 0.0.0.0:/07 18:22:31 10.10.10.18:83 18:22:32 [.10.107 0.0.0.0:/07 18:22:32 10.10.10.17:83 18:22:33 [.10.107 0.0.0.0:/07 18:22:32 10.10.10.18:83 18:22:33 [.10.107 0.0.0.0:/07 18:22:33 10.10.10.17:83 18:22:34 [.10.107 0.0.0.0:/07 18:22:33 10.10.10.18:83 18:22:34 [.10.107 0.0.0.0:/07 18:22:34 10.10.10.17:83 18:22:35 [.10.107 0.0.0.0:/07 18:22:34 10.10.10.18:83 18:22:35 [.10.107 0.0.0.0:/07 18:22:35 10.10.10.17:83 18:22:36 [.10.107 0.0.0.0:/07 18:22:35 10.10.10.18:83 18:22:37 [.10.107 0.0.0.0:/07 18:22:36 10.10.10.17:83 18:22:37 [.10.107 0.0.0.0:/07 18:22:37 10.10.10.18:83 18:22:37 [.10.107 0.0.0.0:/07 18:22:37 10.10.10.17:83 18:22:38 [.10.107 0.0.0.0:/07 18:22:37 10.10.10.18:83 18:22:39 [.10.107 0.0.0.0:/07 18:22:38 10.10.10.17:83摘自:http://blog.csdn.net/gzh0222/article/details/7956270Nginx支持TCP负载均衡:环境:系统:CentOS 5.6 X86_64Nginx:nginx-1.2.4拓扑:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& — 10.0.1.201:1433LB(10.0.1.212:1433)——-|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&— 10.0.1.202:1433默认nginx不支持tcp的负载均衡,需要打补丁,(连接方式:从客户端收到一个连接,将从本地新建一个连接发起到后端服务器),具体配置如下:一、安装Nginx1.下载nginx# wget http://nginx.org/download/nginx-1.2.4.tar.gz2.下载tcp模块补丁# wget /yaoweibin/nginx_tcp_proxy_module/tarball/master源码主页: /yaoweibin/nginx_tcp_proxy_module3.安装nginx# tar xvf nginx-1.2.4.tar.gz# tar xvf yaoweibin-nginx_tcp_proxy_module-v0.4-45-ga40c99a.tar.gz# cd nginx-1.2.4# patch -p1 &&&../yaoweibin-nginx_tcp_proxy_module-a40c99a/tcp.patch#./configure&&--prefix=/usr/local/nginx --with-pcre=../pcre-8.30 --add-module=../yaoweibin-nginx_tcp_proxy_module-ae321fd/# make# make install二、修改配置文件修改nginx.conf配置文件# cd /usr/local/nginx/conf# vim nginx.confworker_processes 1;events {worker_connections 1024;}tcp {upstream mssql {server 10.0.1.201:1433;server 10.0.1.202:1433;check interval=3000 rise=2 fall=5 timeout=1000;}server {listen 1433;server_name 10.0.1.212;proxy_}}三、启动nginx# cd /usr/local/nginx/sbin/# ./nginx查看1433端口:#lsof :1433四、测试# telnet 10.0.1.201 1433五、使用sql server client工具测试摘自:/yahue/articles/3792176.html
赢在IT,Playin' with IT,Focus on Killer Application,Marketing Meets Technology.
原文地址:, 感谢原作者分享。
您可能感兴趣的代码匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 nginx tcp 反向代理 的文章

 

随机推荐