Website Down? A Step-by-Step Troubleshooting Checklist

When a website goes down, working through checks in the right order saves critical time. This checklist moves from the fastest, most common causes to deeper investigation.

Step 1 — Confirm It's Actually Down (Not Just for You)

Use a third-party "down for everyone or just me" checking tool, or ask someone on a different network to test. If it's only down for you, the problem may be local DNS caching or your own ISP — not the server.

Step 2 — Can You Still SSH/RDP into the Server?

ssh deploy@YOUR_SERVER_IP

If you can't connect at all, see VPS Unreachable/Can't Connect via SSH: Troubleshooting Guide — the issue is likely at the network or server level, not the application.

Step 3 — Check If the Web Server Is Running

sudo systemctl status nginx
sudo systemctl status apache2

If stopped, start it and check why it stopped:

sudo systemctl start nginx
sudo journalctl -u nginx -n 50

Step 4 — Check Disk Space

df -h

A full disk is one of the most common causes of a site suddenly going down — databases and web servers often fail silently when they can't write. See How to Fix "No Space Left on Device" Errors.

Step 5 — Check System Resources

free -h
uptime
top

High load or exhausted RAM can make a server unresponsive without technically being "down."

Step 6 — Check the Application/Backend

docker ps
sudo systemctl status your-app-service

If using a reverse proxy (Nginx in front of an app), confirm the backend process is actually running:

curl http://127.0.0.1:3000

Step 7 — Check the Database

sudo systemctl status mysql
sudo systemctl status postgresql

A crashed or unreachable database is a very common root cause of a site that "was working fine."

Step 8 — Check the Error Logs

sudo tail -100 /var/log/nginx/error.log
sudo tail -100 /var/log/apache2/error.log

This almost always identifies the exact failure — the fastest path to a real answer, not guesswork.

Step 9 — Check DNS

dig +short yourdomain.com

Confirm it resolves to the correct IP address; DNS misconfiguration or an expired domain can look identical to a "server down" scenario.

Step 10 — Check SSL Certificate Expiry

sudo certbot certificates

An expired certificate can cause browsers to block the site entirely, appearing as "down" to visitors even though the server is fine.

Step 11 — Check the Firewall

sudo ufw status

Confirm ports 80/443 haven't been accidentally blocked by a recent change.

Quick Reference Diagnostic Table

SymptomMost Likely Cause
"Connection refused"Web server not running, or firewall blocking
"502 Bad Gateway"Backend app crashed or unreachable
Site loads but very slowHigh CPU/RAM usage, or database bottleneck
SSL/certificate warningExpired or misconfigured certificate
"This site can't be reached" (DNS error)DNS misconfiguration or domain expiry

After the Incident: Prevent It Next Time

  • Set up basic uptime monitoring so you're alerted before customers report it
  • Enable automatic security updates — see How to Enable Automatic Security Updates on Ubuntu & Debian
  • Monitor disk space proactively — see How to Check and Manage Disk Usage on a Linux VPS

Related Articles

  • VPS Unreachable/Can't Connect via SSH: Troubleshooting Guide
  • How to Fix Common Nginx Errors (502/504/403)
  • How to Diagnose a Slow VPS: Complete Performance Checklist
  • website down, troubleshooting, server down, downtime checklist
  • 1 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

VPS Unreachable/Can't Connect via SSH: Troubleshooting Guide

Losing SSH access to your VPS is stressful, but most causes are fixable without needing to...

How to Fix "No Space Left on Device" Errors

A full disk can silently break databases, log writing, package installations, and web...

How to Diagnose and Fix High CPU Usage on a VPS

Sustained high CPU usage can slow down your entire server and every application running on it....

How to Diagnose and Fix Out of Memory (OOM) Errors

When a Linux server runs out of available RAM, the kernel's OOM (Out of Memory) killer forcibly...

How to Troubleshoot DNS Propagation Issues

DNS changes don't take effect everywhere instantly — caching at multiple levels means...