医院网站建设步骤,php wordpress 开源,免费看各大网站的软件,网站备案号 英文问题#xff1a;在开发测试时发现断开与服务器端口后再次连接时拒绝连接。
分析#xff1a;服务器上查看端口占用情况#xff0c;假设端口为8888。
netstat -anp |grep 8888
发现端口8888端口显示被占用#xff08;ip为本机ip确定是上次连接#xff09;且状态为ESTABLI…问题在开发测试时发现断开与服务器端口后再次连接时拒绝连接。
分析服务器上查看端口占用情况假设端口为8888。
netstat -anp |grep 8888
发现端口8888端口显示被占用ip为本机ip确定是上次连接且状态为ESTABLISHED然而实际上连接已经断开但是服务端没有断开连接查看TCP的keepalive配置。
sysctl -a |grep keepalive
发现为默认的配置 net.ipv4.tcp_keepalive_time 7200 net.ipv4.tcp_keepalive_probes 9 net.ipv4.tcp_keepalive_intvl 75
默认情况下在连接空闲7200秒即2个小时后才会发送keepalive探测包来确认连接情况。
解决通过修改keepalive配置为合适的值如改为200秒可以快速释放端口连接。
临时修改通过echo设置tcp_keepalive_time。
echo 200 /proc/sys/net/ipv4/tcp_keepalive_time
永久生效编辑/etc/sysctl.conf新增或修改为
net.ipv4.tcp_keepalive_time 200
然后执行命令使修改后的配置生效
sysctl -p