Problèmes courants VPS Linux
Ce guide vous aide à diagnostiquer et résoudre les problèmes les plus fréquents sur un VPS Linux.
Connexion impossible au VPS
Vérifier que le VPS est en ligne
Depuis le panel YorkHost, vérifiez que le VPS est bien démarré.
Tester la connectivité
# Ping depuis votre machine
ping VOTRE_IP
# Si le ping échoue, le VPS est peut-être éteint ou le réseau bloqué
Problème SSH
# Tester la connexion SSH avec verbose
ssh -v root@VOTRE_IP
# Si port personnalisé
ssh -v -p 2222 root@VOTRE_IP
Erreur "Connection refused" :
- Le service SSH n'est pas démarré
- Le port SSH est différent de 22
- Le firewall bloque le port
Erreur "Connection timed out" :
- Le VPS est éteint
- Le firewall bloque tout le trafic
- Problème réseau
Récupération via console VNC
Si SSH ne fonctionne pas, utilisez la console VNC depuis le panel :
# Vérifier le statut SSH
systemctl status sshd
# Redémarrer SSH
systemctl restart sshd
# Vérifier le firewall
ufw status
Serveur lent ou non réactif
Vérifier la charge système
# Vue d'ensemble
top
# Ou plus lisible
htop
# Charge moyenne
uptime
La "load average" indique le nombre de processus en attente :
- < 1.0 : OK
- 1.0 - 2.0 : Charge élevée
-
2.0 : Surcharge
Identifier les processus gourmands
# Top 10 CPU
ps aux --sort=-%cpu | head -10
# Top 10 RAM
ps aux --sort=-%mem | head -10
Vérifier la RAM
free -h
Exemple :
total used free shared buff/cache available
Mem: 3.8Gi 2.1Gi 200Mi 100Mi 1.5Gi 1.4Gi
available: RAM réellement disponible (inclut le cache libérable)
Si RAM saturée :
# Identifier le coupable
ps aux --sort=-%mem | head -5
# Killer un processus (dernier recours)
kill -9 PID
Vérifier le swap
swapon --show
free -h
Si le swap est très utilisé, le système manque de RAM.
Disque plein
Vérifier l'espace disque
df -h
Exemple :
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 48G 2.0G 96% /
Un disque à 100% peut empêcher le système de démarrer et causer des corruptions de données.
Trouver les gros fichiers
# Dossiers les plus volumineux
du -h --max-depth=1 / | sort -hr | head -20
# Fichiers de plus de 100MB
find / -type f -size +100M 2>/dev/null
# Logs volumineux
du -h /var/log/ | sort -hr | head -10
Nettoyer l'espace
# Nettoyer les paquets apt inutiles
sudo apt autoremove -y
sudo apt clean
# Nettoyer les vieux kernels
sudo apt autoremove --purge
# Nettoyer les logs (avec précaution)
sudo journalctl --vacuum-time=7d
sudo find /var/log -name "*.gz" -delete
sudo find /var/log -name "*.1" -delete
# Nettoyer Docker (si utilisé)
docker system prune -af
Voir le guide Gestion de l'espace disque pour plus de détails.
Services qui ne démarrent pas
Vérifier le statut
systemctl status nom_du_service
États possibles :
active (running): OKinactive (dead): Arrêtéfailed: Erreur au démarrage
Voir les logs d'erreur
# Logs du service
journalctl -u nom_du_service -n 50
# Logs en temps réel
journalctl -u nom_du_service -f
Problèmes courants
Port déjà utilisé :
# Trouver qui utilise un port
sudo ss -tlnp | grep :80
sudo lsof -i :80
Fichier de configuration invalide :
# Tester la config Nginx
sudo nginx -t
# Tester la config Apache
sudo apachectl configtest
Permissions incorrectes :
# Vérifier le propriétaire
ls -la /chemin/vers/fichier
# Corriger les permissions
sudo chown www-data:www-data /var/www/html -R
sudo chmod 755 /var/www/html -R
Problèmes réseau
Vérifier la configuration réseau
# Interfaces réseau
ip addr
# Table de routage
ip route
# DNS
cat /etc/resolv.conf
Tester la résolution DNS
# Tester le DNS
nslookup google.com
dig google.com
Si DNS ne fonctionne pas :
# Configurer un DNS temporaire
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
Tester la connectivité sortante
# Tester HTTP
curl -I https://google.com
# Tester avec IP (sans DNS)
curl -I http://142.250.179.110
Problèmes de firewall
Vérifier UFW
sudo ufw status verbose
Règles courantes oubliées
# SSH (port par défaut ou personnalisé)
sudo ufw allow 22/tcp
sudo ufw allow 2222/tcp
# Web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# FiveM
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
Réinitialiser le firewall
# Désactiver temporairement
sudo ufw disable
# Réinitialiser toutes les règles
sudo ufw reset
# Reconfigurer
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw enable
Base de données inaccessible
MySQL/MariaDB
# Statut
systemctl status mysql
systemctl status mariadb
# Logs
tail -50 /var/log/mysql/error.log
# Tester la connexion
mysql -u root -p
Erreur "Too many connections" :
SHOW PROCESSLIST;
-- Tuer les connexions inactives
KILL ID_CONNEXION;
Erreur "Can't connect to MySQL server" :
# Vérifier que MySQL écoute
ss -tlnp | grep 3306
# Redémarrer
sudo systemctl restart mysql
Cron ne s'exécute pas
Vérifier les logs cron
grep CRON /var/log/syslog | tail -20
Problèmes courants
Chemin absolu manquant :
# Mauvais
* * * * * script.sh
# Bon
* * * * * /usr/local/bin/script.sh
Variables d'environnement :
# Ajouter en haut du crontab
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Permissions du script :
chmod +x /chemin/vers/script.sh
Commandes utiles de diagnostic
# Informations système
uname -a
lsb_release -a
# Processus
top / htop
ps aux
# Mémoire
free -h
vmstat 1 5
# Disque
df -h
du -h --max-depth=1 /
# Réseau
ss -tlnp
ip addr
ping / traceroute
# Logs
journalctl -xe
tail -f /var/log/syslog
dmesg | tail
En cas de problème grave, redémarrez le VPS depuis le panel YorkHost. Si le problème persiste, contactez le support avec les informations de diagnostic.