Maison > Opération et maintenance > exploitation et maintenance Linux > Que faire si la connexion TCP n'est pas libérée sous Linux

Que faire si la connexion TCP n'est pas libérée sous Linux

WBOY
Libérer: 2022-07-13 10:53:15
original
3718 Les gens l'ont consulté

Solution : 1. Vous pouvez rapidement libérer la connexion du port en modifiant la configuration keepalive à une valeur appropriée. Utilisez echo pour définir "set tcp_keepalive_time". La syntaxe est "echo "specify value" > /proc/sys/net/. ipv4/ tcp_keepalive_time"; 2. Editez le fichier "/etc/sysctl.conf", la syntaxe est "net.ipv4.tcp_keepalive_time=specified value".

Que faire si la connexion TCP n'est pas libérée sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Que dois-je faire si la connexion TCP n'est pas libérée sous Linux ?

Description du problème

Pendant le développement et les tests, j'ai constaté que la connexion était refusée lorsque le port du serveur était déconnecté puis reconnecté.

Analyse : Vérifiez l'occupation du port sur le serveur, en supposant que le port est 8080.

netstat -anp |grep 8080
Copier après la connexion

On constate que le port 8080 est occupé (l'IP est l'IP locale et doit être la dernière connexion) et l'état est ESTABLISHED. Cependant, la connexion a effectivement été déconnectée, mais le serveur n'a pas été déconnecté. Vérifiez le TCP. configuration keepalive.

sysctl -a |grep keepalive
Copier après la connexion

Trouvé comme étant la configuration par défaut

net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 75
Copier après la connexion

Par défaut, un paquet de détection keepalive sera envoyé pour confirmer l'état de la connexion après que la connexion soit inactive pendant 7 200 secondes ou 2 heures.

Solution

Solution :

1. En modifiant la configuration keepalive à une valeur appropriée (par exemple en passant à 200 secondes), la connexion du port peut être rapidement libérée.

Modification temporaire, définissez tcp_keepalive_time via echo.

echo "200" >  /proc/sys/net/ipv4/tcp_keepalive_time
Copier après la connexion

2. Pour le rendre permanent, éditez /etc/sysctl.conf, ajoutez-le ou modifiez-le en

net.ipv4.tcp_keepalive_time = 200
Copier après la connexion

puis exécutez la commande pour que la configuration modifiée prenne effet

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal