nginx1.9实现TCP代理转发

##资料
http://nginx.org/download/nginx-1.9.12.tar.gz

nginx **
https://www.nginx.com/resources/ ... ricting-access-tcp/

upstream
https://www.nginx.com/resources/admin-guide/load-balancer/

动态添加upstream成员
http://nginx.org/en/docs/http/ng ... 20695661.1457268407

https://www.nginx.com/resources/admin-guide/load-balancer/


##
1.软件下载(目前最稳定版本):
wget http://nginx.org/download/nginx-1.9.12.tar.gz

2.建立nginx运行用户和程序目录:
1
2
3
4
5
6
7
8
groupadd www
useradd -s /sbin/nologin -g www www
mkdir -p /usr/local/nginx
mkdir -p /usr/local/pcre
mkdir -p /data/nginxlog/

tar xvf nginx1.9.tar
cd /workspace/nginx1.9



3.安装pcre
1
2
3
4
5
6
7
8
9
unzip pcre-8.32.zip
cd pcre-8.32
./configure --prefix=/usr/local/pcre --enable-utf8 --enable-pcregrep-libbz2 --enable-pcregrep-libz
make && make install
cd ..
pwd

tar -xvf nginx-1.9.12.tar.gz
cd nginx-1.9.12

1
2
3
4
5
6
7
8
9
10
11
12
./configure --user=www --group=www \
--prefix=/usr/local/nginx \
--with-pcre \
--with-pcre=/workspace/nginx1.9/pcre-8.32 \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module  \
--with-stream \
--with-stream_ssl_module \
--sbin-path=/usr/sbin/nginx \
--error-log-path=/data/nginxlog/error.log \
--http-log-path=/data/nginxlog/access.log



4、nginx做个快捷方式
ln -s /usr/local/nginx/sbin/nginx/ /usr/sbin/

5、启动nginx
6、实例配置
准备两个mysql实例,详细如下:
server 192.168.100.70:3306 ;
server 192.168.100.71:3306 ;
案例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1、nginx 主配置文件nginx.conf添加内容如下:
events {
    worker_connections  1024;
}

stream {
   include /usr/local/nginx/conf/stream_conf/*.conf;
   limit_conn_zone $binary_remote_addr zone=ip_addr:10m;
   #定义**IP连接数名称,与大小 $binary_remote_addr以2进制存放远程地址
}

2、然后建立相应目录
mkdir -p /usr/local/nginx/conf/stream_conf/

cd /usr/local/nginx/conf/stream_conf/

3、vim mysql3306.conf配置文件如下:

    upstream db {
        hash $remote_addr consistent;     
        #iphash根据访问地址分配到固定的后端服务器。
        server 192.168.100.70:3306;
        server 192.168.100.71:3306;
    }
    server {
        listen 3306;
        proxy_pass db;
        proxy_connect_timeout 1s;     
        #快速故障检查
        proxy_timeout 3s;         
        #设置超时时间,连接将超时断开。
        proxy_download_rate 1k;     
        #**下载速度为1k
        proxy_upload_rate   10k;   
        #**上传速度为10k
        limit_conn ip_addr 1;      
        ##是**每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应)
        allow 127.0.0.1;           
        #acl,设置允许访问IP地址;
        deny all;

    }





健康检查、负载配置参考
https://www.nginx.com/resources/admin-guide/tcp-load-balancing/

云锁-服务器安全首选软件,一键查杀木马、病毒、后门,一键修复系统漏洞,实时监控系统性能,高效抵御CC等黑客攻击
发表于 2016-4-22 00:26:50 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

QQ|论坛首页|站点统计|小黑屋|云锁论坛-服务器安全技术讨论专业论坛、云锁软件技术讨论 ( 京ICP备14002707号-3  

GMT+8, 2018-7-18 09:22 , Processed in 0.146102 second(s), 42 queries .

Powered by 云锁

© 2014-2018 JOWTO Inc.

快速回复 返回顶部 返回列表