When something breaks#
Don't panic. The vast majority of server problems are one of four things, and all four are on this page.
Try this first
Tell Morpheus what happened, in plain words:
"my site is down, it's showing a 502 error"
It connects to the server, reads logs, checks service status and tells you what it found. Diagnosis is what Morpheus is best at - you do not need to memorise commands. What follows is so you understand what it is looking for, and can look yourself.
502 Bad Gateway#
Nginx is up but cannot reach the application behind it. Almost always the app itself has died.
1. Is the app running?
sudo systemctl status myapp
# or, for Docker:
docker compose ps
2. Find out why it stopped
sudo journalctl -u myapp -n 100 --no-pager
# or:
docker compose logs --tail=100
3. Does the port Nginx asks for match the port the app listens on?
sudo ss -tlnp | grep LISTEN
grep proxy_pass /etc/nginx/sites-enabled/*
This is the most common cause: the app is on 3000, Nginx is asking 8080.
4. Nginx's own error log
sudo tail -50 /var/log/nginx/error.log
connect() failed (111: Connection refused) confirms it: the app is not up.
The site does not load at all#
If you do not even get a 502, the problem is further down. Eliminate in order.
Is DNS right?
dig +short example.com
If it does not return your server's IP, the problem is DNS, not the server. If you just changed it, propagation can take hours.
Is the server up?
ping -c 3 SERVER_IP
Is Nginx running?
sudo systemctl status nginx
sudo nginx -t
If nginx -t fails, there is a syntax error and Nginx may still be serving the old config.
Could the firewall be blocking it?
sudo ufw status
80 and 443 must be open. And rather than trusting ufw, test from outside - from your own machine:
curl -I http://example.com
Disk full#
This is the sneakiest failure, because the symptom is never "disk full". The app cannot write, the database locks up, error messages look unrelated.
df -h
If it is full, find the culprit:
sudo du -h --max-depth=1 / 2>/dev/null | sort -rh | head -15
The three usual suspects:
sudo journalctl --disk-usage
sudo journalctl --vacuum-time=7d
sudo du -sh /var/log/*
docker system df
docker image prune -a -f
docker volume ls -f dangling=true
Stop before pruning volumes
docker volume prune can delete your database. Check what each volume is first; if you are not sure, do not touch it.
sudo apt clean # or: sudo dnf clean all
The permanent fix: set up log rotation, run docker image prune -f after updates, and watch the disk. Uptime and bandwidth monitoring already come with your VPS; for disk you can have Morpheus check regularly.
With Morpheus
"what is using disk space, show me the 10 largest directories"
"check disk usage weekly and tell me if it goes over 80%"
The server is slow#
Find the bottleneck:
uptime # load average
free -h # memory
df -h # disk (a full disk feels like slowness)
top -b -n 1 | head -20
Reading load average: the three numbers are 1, 5 and 15 minute averages. Get your core count with nproc; if load is consistently above the core count, you really are loaded.
If memory is full, the likely cause is swapping - faking memory with disk makes everything slow:
swapon --show
vmstat 1 5
If the si/so columns are consistently above zero, the server is drowning in swap. Either fix the process eating memory, or size the VPS up.
Scaling up is easy
You can resize your VPS from the panel or by asking Morpheus - the price difference is prorated daily.
"increase my server's memory to 8 GB"
Resizing is a structured panel operation, in the class Morpheus is reliable at.
If none of this helped#
Support moves much faster if you have:
- When it started and what changed just before
sudo journalctl -u SERVICE -n 100 --no-pageroutputsudo tail -50 /var/log/nginx/error.logoutputdf -handfree -houtput
Open a support request from the panel or call +90 312 234 20 00. Morpheus answers the phone, can tell you the state of your servers, and hands you to the team when needed.
Do not do this
Do not panic-reinstall. It is almost never the right answer and it destroys your data. You could not make Morpheus do it from chat anyway - reinstall and delete are panel-only, deliberate operations. That rule exists for exactly this moment.