I wanted to share a recent upgrade I completed on one of my production servers at Mena Web Agency. We have a few dedicated servers and VPS. This is mostly for my own documentation, but if it helps anyone else in the CyberPanel community, even better. I like keeping notes…
Server Stack
This was a dedicated production server running:
OS: Ubuntu 22.04.5 LTS
Web Server: LiteSpeed Enterprise 6.3.5
Control Panel: CyberPanel 2.4.5
Database: MariaDB 11.8
Cache (before): Redis 6.0.16
Cache (after): Valkey 8.0.0
Use case is pure WordPress object caching, no custom Redis modules, no clustering, nothing fancy.
Why I Made the Switch:
Redis 6 is getting old
Valkey is fully open-source and actively maintained
WordPress Redis Object Cache plugin is compatible
My workload is simple (object cache only), so low risk, and a few WooCommerce sites with a lot of variables.
I have been wanting to do this for a while now, and got the opportunity and the go-ahead from MWA.
Migration Strategy (Fast Path)
I chose a direct replacement (Option B) instead of a staged rollout because:
Only 1 Redis instance (6379)
Memory usage was tiny (~18MB)
Cache is disposable (object cache only)
Downtime tolerance: ~45 minutes
Translation: no need to migrate data, just replace the engine
Steps I Took
-
Stop Redis
systemctl stop redis-server
systemctl disable redis-server -
Remove Redis
apt remove --purge redis-server redis-tools -y
apt autoremove -y -
Install Valkey (Ubuntu 22.04 Method)
Since Ubuntu 22.04 doesn’t have Valkey in the default repo, I built from source.
apt update
apt install -y build-essential tcl pkg-config
cd /opt
wget https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz
tar -xzf 8.0.0.tar.gz
cd valkey-8.0.0
make -j$(nproc)
make install
- Create Config
mkdir -p /etc/valkey
mkdir -p /var/lib/valkey
nano /etc/valkey/valkey.conf
Contents:
bind 127.0.0.1
port 6379
daemonize no
supervised systemd
dir /var/lib/valkey
maxmemory 32gb
maxmemory-policy allkeys-lfu
save “”
appendonly no
===============================
Important:
No persistence (object cache only)
LFU eviction (best for WordPress “popular content” patterns)
===========================
- Create systemd Service
nano /etc/systemd/system/valkey.service
[Unit]
Description=Valkey In-Memory Data Store
After=network.target
[Service]
User=root(don’t use root, this is an example)
Group=root(don’t use root, this is an example)
ExecStart=/usr/local/bin/valkey-server /etc/valkey/valkey.conf
ExecStop=/usr/local/bin/valkey-cli shutdown
Restart=always
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
-
Start Valkey
systemctl daemon-reload
systemctl enable valkey
systemctl start valkey -
Verify
valkey-cli ping
Response: PONG
valkey-server -v
Valkey server v=8.0.0 -
Restart LiteSpeed (Reconnect PHP)
systemctl restart lsws
Results (Immediately Noticeable)
Faster response times
Lower latency under load
Smoother overall feel in WordPress admin + frontend
LiteSpeed Crawler primes the cache
Cache warms quickly(super fast) and stays stable
No plugin changes required. Everything just worked.
If you’re using Redis only for object cache, this is a very safe upgrade
You don’t need to migrate data treat cache as disposable
Valkey is a drop-in replacement in most WordPress environments
Ubuntu 22.04 requires manual install (build from source or alternative repo)
Notes:
Valkey may still report redis_version in CLI → this is normal (compatibility layer)
Make sure:
port = 6379
bind = 127.0.0.1
Restart LiteSpeed so PHP reconnects cleanly
First few minutes = cache warm-up period
This was one of the smoothest infrastructure upgrades I’ve done in a while.
If your setup is similar (CyberPanel + LiteSpeed + WordPress object cache), I’d absolutely recommend testing Valkey.
If anyone else in the CyberPanel community has tried this or is planning to, I’d be interested in hearing your experience. I may also build an extension for CyberPanel in the future.