1: 使用 nginx_tcp_proxy_module ,这是第三方的一个插件, 用于支持nginx 的tcp连接, 目前最新版的ngxin1.9也可以支持TCP负载均衡
2:nginx_tcp_proxy_model 配置
events {
use epoll;
worker_connections 102400;
}
tcp {
timeout 1d;
proxy_read_timeout 10d;
proxy_send_timeout 10d;
proxy_connect_timeout 30;
upstream logicSrv {
server 192.168.1.147:8989;
server 192.168.1.149:8989;
check interval=10000 rise=2 fall=5 timeout=1000;
}
server {
listen 8585;
proxy_pass logicSrv;
so_keepalive on;
tcp_nodelay on;
}
}
标红的部分说明: 默认情况下,linux系统 nginx 的tcp 好像连接后75S 如果没有数据传送,服务端会自动进入 FIN_WAIT2状态,
为保证长连接(无心跳包),加入了标红部分参数即可
3:linux 端口数(即单进程打开文件数)默认为1024,可以通过 ulimit -i 查看; http://blog.sina.com.cn/s/blog_6f5b22060101362c.html 这里说的挺详细
我修改了这个就可以了:/etc/security/limits.conf文件,在文件中添加如下行: