Set up Varnish 7.5 with WordPress — new VCL features, improved stale-while-revalidate and debugging. This comprehensive guide walks you through every step needed to implement this correctly on your production Linux server.
Prerequisites
Before you begin, ensure you have the following:
- Root or sudo access to a Linux server (Ubuntu 20.04/22.04/24.04 or AlmaLinux)
- SSH access to the server
- A recent full server backup — always backup before making changes
- Basic familiarity with Linux command line
Step 1 — Update System Packages
Start by updating your package index and upgrading installed packages:
sudo apt update && sudo apt upgrade -y
This ensures you have the latest security patches and avoids dependency conflicts during installation.
Step 2 — Install Required Software
Install the necessary packages for this setup:
sudo apt install -y varnish
Enable the service to start automatically on boot:
sudo systemctl enable varnish --now
Verify the service is running:
sudo systemctl status varnish
Step 3 — Backup Default Configuration
Before making any changes, always backup the original configuration:
sudo cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak.$(date +%Y%m%d)
This allows you to quickly restore the original settings if anything goes wrong.
Step 4 — Configure for Production
Open the main configuration file:
sudo nano /etc/varnish/default.vcl
Apply the recommended production settings. The key parameters to focus on are performance tuning, memory allocation and security restrictions appropriate for your server's resources.
Always test configuration changes on a staging server before applying to production.
Step 5 — Apply and Test Changes
Test your configuration for syntax errors:
# Test configuration
sudo varnish -t 2>/dev/null || sudo systemctl is-active varnish
Reload the service to apply changes without downtime:
sudo systemctl reload varnish
Step 6 — Verify Everything Works
Confirm the service is running correctly after changes:
# Check service status
sudo systemctl status varnish
# View recent log entries
sudo journalctl -fu varnish --no-pager -n 30
Step 7 — Security Hardening
After the basic setup, apply these security best practices:
- Review and restrict file permissions to the minimum required
- Ensure only necessary ports are open in the firewall:
sudo ufw status - Enable automatic security updates:
sudo dpkg-reconfigure --priority=low unattended-upgrades - Set up log monitoring and alerting for suspicious activity
Performance Monitoring
Monitor your server after making changes to ensure stability:
# Overall system resources
htop
# Disk space usage
df -h
# Memory usage
free -h
# Network connections
ss -tulnp
Troubleshooting Common Issues
If you encounter problems, start with these diagnostic steps:
- Service won't start: Check logs with
sudo journalctl -xe | tail -50 - Permission denied errors: Verify file ownership with
ls -la /etc/varnish/default.vcl - Port conflicts: Find conflicting processes with
sudo lsof -i :80 - Configuration syntax errors: Always validate config before reloading
- High memory usage: Reduce worker/thread counts in configuration
Conclusion
You have successfully completed the Varnish 7.5 with WordPress setup on your Linux server. Remember to:
- Monitor server resources regularly
- Keep all software updated with security patches
- Take regular backups and test restore procedures
- Review logs periodically for errors or security events
Need professional help with this configuration or any other server management task? Our Server Performance Tuning team is available 24/7 with a 15-minute emergency response guarantee. Contact us today for a free consultation.