![]() |
|
Guide CloudPanel Logs: Find and Troubleshoot Website Errors - Printable Version +- AdminsForum (https://adminsforum.com) +-- Forum: Free & open-source control panels (https://adminsforum.com/Forum-free-open-source-control-panels) +--- Forum: CloudPanel (https://adminsforum.com/Forum-cloudpanel) +---- Forum: CloudPanel Guides & Tutorials (https://adminsforum.com/Forum-cloudpanel-guides-tutorials) +----- Forum: CloudPanel Sites & Nginx Guides (https://adminsforum.com/Forum-cloudpanel-sites-nginx-guides) +----- Thread: Guide CloudPanel Logs: Find and Troubleshoot Website Errors (/Thread-guide-cloudpanel-logs-find-and-troubleshoot-website-errors) |
CloudPanel Logs: Find and Troubleshoot Website Errors - DEV - 10-16-2026 To troubleshoot a CloudPanel website, reproduce one failed request, note its time and URL, then compare the Nginx access log, Nginx error log and PHP error log. Match the evidence before changing settings. This walkthrough uses CloudPanel v2. The screenshot below comes from our existing CloudPanel 2.5.4 / Ubuntu 24.04 lab guide. The log excerpts later in this post are illustrative examples, not fresh incidents on that server. 1. Record the symptom first Write down the affected domain, exact page, HTTP status, time including timezone, and the last deployment or setting change. Test a public page once; do not repeatedly submit a checkout or other action that can create duplicate transactions. Keep passwords, session cookies and private query strings out of your notes. 2. Open the site's Log Viewer In CloudPanel, open Sites, choose the affected site and select Logs. Start with NGINX → access.log, choose a suitable line count and click Update. Repeat for the Nginx error log and the PHP error source. Available filenames can vary by installation. The viewer is a recent-lines view, so click Update after reproducing the request. Our branded lab screenshot: the site's Logs tab, source selector, filename, line count and Update button. The screenshot contains automated requests for .env paths. A request appearing in the log does not prove a breach. Even a 200 status can be an application's fallback page; check what was returned before concluding that a private file was exposed. Do not paste any discovered secrets into a support thread. 3. Use each log for the right question
4. Read one access-log line Illustrative combined-format example: Code: 192.0.2.10 - - [16/Oct/2026:10:20:00 +0000] "GET /catalog HTTP/1.1" 500 842 "-" "ExampleBrowser"If the request is absent, check the correct domain/site, timezone and log source. A CDN or cache may have served the response without reaching the origin. Also consider DNS pointing to another server, log buffering, rotated logs or a disabled access log. Do not restart services simply because the last 25 lines do not show your request. 5. Find the files over SSH when you need more history CloudPanel documents the site's log tree under /home/SITE_USER/logs/. Replace SITE_USER with the actual site user shown in CloudPanel. Log in as that site user and list the available files: Code: find /home/SITE_USER/logs/ -maxdepth 3 -type f -name '*.log' -printCode: tail -n 100 -- /absolute/path/to/error.logCode: tail -n 30 -F -- /absolute/path/to/error.logCode: grep -nF -- '/catalog' /absolute/path/to/access.log | tail -n 206. Turn the message into a next check
7. Check a database service failure separately An administrator with sudo access can identify the service name without changing it: Code: systemctl list-units --type=service --all | grep -Ei 'mysql|mariadb'Code: sudo journalctl -u mysql.service --since '30 minutes ago' --no-pager -n 1008. Verify the fix and keep useful evidence Save the relevant error lines privately, make one justified change with a rollback plan, repeat the same request and check that the new error no longer appears. Confirm the expected page content as well as the status code. Old log lines remain after a fix; compare new timestamps. Leave public PHP error display disabled and remove temporary debug pages after testing. For support, share the CloudPanel version, OS, site type, PHP version, exact status, approximate time, recent change and a few redacted matching lines. Remove credentials, tokens, email addresses and visitor IPs where they are unnecessary. Related walkthrough CloudPanel Cron Jobs, Logs and Varnish Cache References CloudPanel v2 Log Viewer and log directory Nginx access-log formats and buffering MySQL error-log destinations |