Commencez par le journal d'erreurs du serveur web (Nginx ou Apache), puis celui du gestionnaire de processus applicatif (PHP-FPM, Gunicorn, uWSGI, PM2, le service systemd de votre application Java ou Node.js), puis le journal de l'application elle-même. Chaque couche ajoute des détails que la précédente n'a pas.
Cherchez d'abord la trace d'exception (stack trace) correspondant à l'horodatage de l'erreur. Elle indique le fichier, la ligne et la chaîne d'appels. Sur PHP, une erreur fatale, une limite de mémoire dépassée ou une extension manquante apparaissent ici. Sur Java ou Node.js, une exception non gérée apparaît avec sa pile complète.
Si les journaux applicatifs sont vides, c'est en soi un indice : le processus ne démarre pas, ou l'erreur survient avant que la journalisation ne soit initialisée (fichier de configuration illisible, variable d'environnement absente, dépendance manquante). Vérifiez alors le journal du service et celui du système (journalctl, dmesg).