Apache won’t reload? Assume a syntax or dependency issue until proven otherwise. This flow gets you from “reload failed” to the specific fix.
Quick flow
- Validate config:
sudo apachectl configtest - Check service status:
sudo systemctl status apache2 --no-pager - Read unit logs:
sudo journalctl -u apache2 -n 200 --no-pager
Common causes
- Broken vhost syntax (missing closing tags or directives)
- Duplicate
ServerNameorServerAliascollisions - Missing or disabled module required by config
- Bad SSL paths or permissions (cert or key)
Fix pattern
- Narrow to the failing file mentioned in the errors
- Comment out the last change and re-test
- Re-enable changes one at a time
FAQ
Should I use reload or restart?
For routine config changes, graceful reload is safer for live traffic. Use restart when behavior still doesn’t match config or after larger module/MPM changes.
Related
- Hosting multiple WordPress sites on one Apache server — multi-site vhost patterns
- Apache + PHP-FPM stability basics — PHP-FPM wiring and health