java socket+nginx 配置 tcp 长连接

  • Post author:
  • Post category:java




问题

本地搭建了一个 ServerSocket 可以接收数据,但是服务器上只能连接上,一直接收不到数据。



解决

nginx 需要配置 配置长连接 配置如下。

events {
  use epoll;
  worker_connections 51200;
  multi_accept on;
}

stream{
    upstream abc{
        server 127.0.0.1:8543;
        keepalive 300;
    }
    server{
        listen 8543;
        server_name "";
        access_log /data/wwwlogs/tcp_nginx.log combined;
        proxy_connect_timeout 1s;
        proxy_timeout 20s;
        proxy_pass abc;
    }
}



注意事项

stream要和events 平级。如果配置上stream之后,启动nginx提示

nginx: [emerg] unknown directive “stream”

需要安装 stream 。

安装stream

yum -y install nginx-all-modules.noarch

然后在用nginx -t就好了

8543是ServerSocket 的端口号



版权声明:本文为weixin_42071705原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。