网站首页 > 技术教程 正文
nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx支持四层负载均衡。默认编译的时候该模块并未编译进去,需要编译的时候添加--with-stream,使其支持stream代理。
Nginx 基于tcp/udp代理
Nginx
nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx支持四层负载均衡。默认编译的时候该模块并未编译进去,需要编译的时候添加--with-stream,使其支持stream代理。
同时需要说明一点,nginx也可以代理tcp的正向代理和反向代理,我这里主要以反向代理为基础,需要正向代理可以参考 Nginx 反向代理与正向代理
官方文档stream模块地址:http://nginx.org/en/docs/stream/ngx_stream_core_module.html
因为手上没有合适的环境,我这里设置nginx代理smtp。使用腾讯的smtp服务进行代理演示
Nginx搭建
1.nginx版本没有太大要求,1.9以上即可
wget http://nginx.org/download/nginx-1.10.3.tar.gz
#按照依赖包
yum install -y gcc glibc gcc-c++ prce-devel openssl-devel pcre-devel
useradd -s /sbin/nologin nginx -M
tar xf nginx-1.10.3.tar.gz && cd nginx-1.10.3
#编译
./configure --prefix=/usr/local/nginx-1.10.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-stream
make && make install
检查
/usr/local/nginx/sbin/nginx -t
启动
/usr/local/nginx/sbin/nginx
查看服务器是否启动
netstat -lntp|grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7058/nginx: master
配置Nginx
stream不可以配置在http标签,需要和events同级,我这里就单独写一份配置文件,也方便后期维护管理
1.首先需要修改nginx.conf,添加include 引用server标签
cat >/usr/local/nginx/conf/nginx.conf <
解释一下什么是长连接
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。
而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。
总之,长连接和短连接的选择要视情况而定。
具体网络中的应用的话:http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。一般的网络游戏应用都是长连接
添加配置文件
cat >/usr/local/nginx/conf/i4t.com <
温馨提示:tcp代理不支持配置server_name
修改完配置文件后,我们nginx -t检查一下语法是否有问题。顺便我们启动nginx
$/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.10.3/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.10.3/conf/nginx.conf test is successful
#启动
/usr/local/nginx/sbin/nginx
#服务器检查
[root@abcdocker ~]# lsof -i:1998
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 24034 root 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
nginx 24035 nginx 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
[root@abcdocker ~]# ps -ef|grep nginx
root 24034 1 0 08:22 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 24035 24034 0 08:22 ? 00:00:00 nginx: worker process
root 26095 24232 0 08:33 pts/2 00:00:00 grep --color=auto nginx
访问测试
telnet没有问题~
1.首先需要修改nginx.conf,添加include 引用server标签
cat >/usr/local/nginx/conf/nginx.conf <
解释一下什么是长连接
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。
而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。
总之,长连接和短连接的选择要视情况而定。
具体网络中的应用的话:http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。一般的网络游戏应用都是长连接
添加配置文件
cat >/usr/local/nginx/conf/i4t.com <
温馨提示:tcp代理不支持配置server_name
修改完配置文件后,我们nginx -t检查一下语法是否有问题。顺便我们启动nginx
$/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.10.3/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.10.3/conf/nginx.conf test is successful
#启动
/usr/local/nginx/sbin/nginx
#服务器检查
[root@abcdocker ~]# lsof -i:1998
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 24034 root 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
nginx 24035 nginx 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
[root@abcdocker ~]# ps -ef|grep nginx
root 24034 1 0 08:22 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 24035 24034 0 08:22 ? 00:00:00 nginx: worker process
root 26095 24232 0 08:33 pts/2 00:00:00 grep --color=auto nginx
访问测试
telnet没有问题~
1.首先需要修改nginx.conf,添加include 引用server标签
cat >/usr/local/nginx/conf/nginx.conf <
解释一下什么是长连接
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。
而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。
总之,长连接和短连接的选择要视情况而定。
具体网络中的应用的话:http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。一般的网络游戏应用都是长连接
添加配置文件
cat >/usr/local/nginx/conf/i4t.com <
温馨提示:tcp代理不支持配置server_name
修改完配置文件后,我们nginx -t检查一下语法是否有问题。顺便我们启动nginx
$/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.10.3/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.10.3/conf/nginx.conf test is successful
#启动
/usr/local/nginx/sbin/nginx
#服务器检查
[root@abcdocker ~]# lsof -i:1998
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 24034 root 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
nginx 24035 nginx 6u IPv4 34775578 0t0 TCP *:x25-svc-port (LISTEN)
[root@abcdocker ~]# ps -ef|grep nginx
root 24034 1 0 08:22 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 24035 24034 0 08:22 ? 00:00:00 nginx: worker process
root 26095 24232 0 08:33 pts/2 00:00:00 grep --color=auto nginx
访问测试
telnet没有问题~
猜你喜欢
- 2024-10-09 不懂Nginx正反向代理?没关系,只要会买东西你就明白了
- 2024-10-09 深度详解Nginx正向代理与反向代理?
- 2024-09-10 如何玩转nginx正反向代理(nginx反向代理的几种模式)
- 2024-09-10 nginx如何配置正向代理之非常简单操作
- 2024-09-10 nginx常用模块及反向代理(nginx反向代理配置实例)
- 2024-09-10 nginx代理https妈妈级教程(nginx代理https)
- 2024-09-10 图文讲解:如何使用 Nginx 反向代理、负载均衡
- 2024-09-10 nginx配置tcp代理(nginx tcp代理)
- 2024-09-10 使用 Nginx 作为你的开发代理工具
- 2024-09-10 网页服务-Nginx - 反向代理 - 基于浏览器
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)