Heim > Artikel > Betrieb und Instandhaltung > Was tun, wenn die TCP-Verbindung unter Linux nicht freigegeben ist?
Lösung: 1. Sie können die Portverbindung schnell freigeben, indem Sie die Keepalive-Konfiguration auf einen geeigneten Wert ändern. Verwenden Sie echo, um „tcp_keepalive_time“ festzulegen. Die Syntax lautet „echo „specify value“ > /proc/sys/net/“. ipv4/ tcp_keepalive_time“; 2. Bearbeiten Sie die Datei „/etc/sysctl.conf“. Die Syntax lautet „net.ipv4.tcp_keepalive_time=angegebener Wert“.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Problembeschreibung
Während der Entwicklung und Tests habe ich festgestellt, dass die Verbindung abgelehnt wurde, wenn der Server-Port getrennt und dann erneut verbunden wurde.
Analyse: Überprüfen Sie die Portbelegung auf dem Server, vorausgesetzt, der Port ist 8080.
netstat -anp |grep 8080
Es wurde festgestellt, dass Port 8080 belegt ist (die IP ist die lokale IP und muss die letzte Verbindung sein) und der Status lautet ESTABLISHED. Die Verbindung wurde jedoch tatsächlich getrennt, der Server wurde jedoch nicht getrennt TCP-Keepalive-Konfiguration.
sysctl -a |grep keepalive
Es wurde festgestellt, dass es sich um die Standardkonfiguration handelt
net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75
Standardmäßig wird ein Keepalive-Erkennungspaket gesendet, um den Verbindungsstatus zu bestätigen, nachdem die Verbindung 7200 Sekunden oder 2 Stunden lang inaktiv war.
Lösung
Lösung:
1. Durch Ändern der Keepalive-Konfiguration auf einen geeigneten Wert (z. B. Änderung auf 200 Sekunden) kann die Portverbindung schnell freigegeben werden.
Vorübergehende Änderung, tcp_keepalive_time über Echo festlegen.
echo "200" > /proc/sys/net/ipv4/tcp_keepalive_time
2. Um es dauerhaft zu machen, bearbeiten Sie /etc/sysctl.conf, fügen Sie es hinzu oder ändern Sie es in
net.ipv4.tcp_keepalive_time = 200
und führen Sie dann den Befehl aus, damit die geänderte Konfiguration wirksam wird
Empfohlenes Lernen: Linux-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas tun, wenn die TCP-Verbindung unter Linux nicht freigegeben ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!