1Read the logs→2Check config syntax→3Check resources→4Check permissions→5Check recent changes
- Check the logs first: the exact error message usually points to the cause. On Linux use
sudo journalctl -u apache2 --since "1 hour ago"andtail -f /var/log/syslog; on Windows open Event Viewer (System and Application). - Check the configuration syntax before restarting a service (
apache2ctl configtest,named-checkconf,nginx -t). - Check resources: disk full (
df -h) is a very common cause of strange failures. - Check permissions and ownership of files and users.
- Check recent changes: updates, new software, configuration edits. Roll back if needed.
- Boot problems: use Safe Mode or Recovery Environment (Windows), rescue mode or GRUB recovery (Linux); restore from backup if the system is damaged.
- Keep baseline records of normal performance so abnormal behaviour is easy to recognise.
When the network is fine but the service is not
- Is the service running? (
systemctl status …, Services.msc) - Is it listening on the expected port and interface? (
ss -tulpn) - Does the host firewall allow it?
- Do app logs show bind errors, bad config, or full disks?
- For web: correct vhost, document root, and certificate name?
- For clients: proxy settings, stale DNS cache (
ipconfig /flushdns), wrong hosts file entry?
Compare with a working PC (same VLAN) to see whether the fault is machine-specific or network-wide.
Remember
- Application troubleshooting starts after basic IP connectivity succeeds.
- Service up ≠ port open ≠ reachable through firewall — check each.