CLOUD
Guides

Troubleshooting Common Server Issues: Developer Guide

CLOUD|January 19, 2026|Updated September 6, 2026|4 min read|457 views
Troubleshooting Common Server Issues: Developer Guide

Site down, disk full, memory exhausted, permission denied — 10 common problems and their solutions with clear steps.

Introduction

No matter how well-configured your server is, you will eventually encounter a technical issue that needs quick resolution. The ability to diagnose problems systematically is what separates a minutes-long outage from a hours-long disaster. This guide covers the most common Linux server problems and how to resolve them step by step.

1. Server Not Responding

Check Server Status

Always start by determining whether the problem is with the server itself or the network:

ping your-server-ip
traceroute your-server-ip

If ping works but websites are not loading, the issue is with the web service, not the server hardware.

Check Resource Usage

# CPU and memory usage
top
htop

# Disk space
df -h

# Memory usage
free -m

If CPU is at 100% or memory is exhausted, that is the root cause of the unresponsiveness.

2. Memory (RAM) Problems

Diagnosing Out-of-Memory

# Show processes consuming the most memory
ps aux --sort=-%mem | head -20

# Check OOM Killer log
dmesg | grep -i "killed process"
journalctl -k | grep -i "out of memory"

Temporary Fix

# Free page cache without stopping services
sync; echo 3 > /proc/sys/vm/drop_caches

Permanent Solution

If your application genuinely needs more RAM, the correct solution is to upgrade your server specifications. On cloud.net.sa, you can add RAM at 600 SAR per 2GB without requiring a server restart or data migration.

3. Disk Problems

Full Disk

# Find the directories consuming the most space
du -sh /* 2>/dev/null | sort -rh | head -20

# Find large files
find / -size +100M -type f 2>/dev/null | sort -k5 -rn

# Clean old nginx logs
find /var/log/nginx -name "*.log" -mtime +30 -delete

# Remove unused packages
apt autoremove -y
apt autoclean

Full inode Table

# Check inode usage
df -i

# Find directories with many files
find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -rn | head -10

4. nginx Issues

nginx Won't Start

# Check error log
tail -50 /var/log/nginx/error.log

# Test configuration syntax
nginx -t

# Restart nginx
systemctl restart nginx
systemctl status nginx

Common nginx Errors

Error Cause Fix
502 Bad Gateway Application not running Check PHP-FPM or Node.js process
504 Gateway Timeout Application too slow Increase timeout settings
413 Request Entity Too Large File exceeds size limit Increase client_max_body_size
403 Forbidden Permission error Check chmod and chown settings
# Allow larger uploads
echo "client_max_body_size 100M;" > /etc/nginx/conf.d/upload.conf
nginx -t && systemctl reload nginx

5. MySQL / MariaDB Problems

Database Won't Start

# Check error log
tail -100 /var/log/mysql/error.log

# Restart service
systemctl restart mysql
systemctl status mysql

Slow Database

# Show running queries
mysql -u root -p -e "SHOW FULL PROCESSLIST;"

# Enable slow query log
mysql -u root -p -e "SET GLOBAL slow_query_log = 'ON';"
mysql -u root -p -e "SET GLOBAL long_query_time = 2;"

Repair Corrupted Tables

mysqlcheck -u root -p --all-databases --auto-repair

6. SSL Certificate Problems

# Check certificate validity
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com | openssl x509 -noout -dates

# Renew Let's Encrypt certificate
certbot renew --dry-run
certbot renew

7. SSH Problems

# If you forgot sudo password, reboot into recovery mode

# Change user password
passwd username

# Add backup SSH key
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Diagnostic Methodology

When facing any problem, follow this order:

  1. Check logs — /var/log/syslog, /var/log/nginx/error.log, application logs
  2. Check resources — CPU, RAM, disk, network
  3. Check services — systemctl status for each service
  4. Check network — ping, traceroute, netstat
  5. Check change history — was anything modified recently?

Technical Support

At cloud.net.sa, the support team is available to assist your developer in diagnosing problems. It is not just hosting — it is a genuine technical partnership. If you are stuck on an issue, open a ticket and receive a response within business hours.

Summary

Systematic diagnosis saves time. Always start with logs, then resources, then services. Most server problems have clear solutions — the skill is knowing where to look.


Get Started

Want to try it yourself? Choose the right hosting plan or build your custom server with the specs you need.

Share