Fix Redis that will not start
We'll check systemctl status redis, journalctl, redis-cli ping, config and permissions—or tell you when to escalate.
What you'll need
- SSH or console access with sudo
- Redis installed (redis-server package)
Step-by-step diagnostic
Quick triage — pick your path
Quick triage — pick your path
Choose the option that matches what you see. You can jump straight to that section.
- Follow this guide Work through the full procedure from status to config.
- Check status and logs You want to see the error first.
- Check redis-cli ping The service reports active but you want to confirm Redis responds.
- Fix config or permissions You know the config or permissions are wrong.
- When to escalate Config management or cluster changes needed.
Show full guide
Steps
Goal: Confirm Redis fails to start, read the error, then fix config, permissions, or port—or escalate.
- Run
systemctl status redisto see the current state. - Good: You see failed, inactive, or active. Proceed to Check status and logs.
- Bad: Service not found—check if your distro uses redis-server as the unit name.
Check status and logs
Goal: See why Redis failed to start.
- Run
systemctl status redis. Note the Active line and the error message. - Run
journalctl -u redis -n 50 --no-pager. Look for Permission denied, Address already in use, or config errors. - Good: You see the error. Proceed to Check redis-cli ping if active, or Fix config or permissions if failed.
- Bad: Logs empty—check the unit file with systemctl cat redis.
Check redis-cli ping
Goal: Confirm Redis responds when the service reports active.
- Run
redis-cli ping. When Redis is healthy, it returns PONG. - If it times out or refuses, the service may have started but crashed. Check journalctl.
- Good: PONG—Redis is running and accepting connections.
- Bad: No response—Redis is not listening or crashed. Proceed to Fix config or permissions.
Fix config or permissions
Goal: Fix redis.conf paths and permissions.
- Check dir and logfile in redis.conf. The redis-cli user (usually redis) must own or have write access to the data directory and log file.
- Run
sudo chown redis:redis /var/lib/redisand the log file path. Create the log dir if missing. - If the log says “Address already in use”, run
ss -tlnp | grep 6379to find the conflicting process. Stop it or change the port in redis.conf. - Run
sudo systemctl daemon-reloadandsudo systemctl restart redis. - Good: Redis starts and redis-cli ping returns PONG.
- Bad: Still fails—check memory, config syntax, or escalate.
When to escalate
Escalate if:
- Redis is managed by Puppet, Ansible, or Chef.
- The fix requires cluster or sentinel changes.
- You cannot safely modify redis.conf.
Provide systemctl status redis, journalctl -u redis output, and redis.conf.
Verification
systemctl status redisshows active (running).redis-cli pingreturns PONG.- No errors in
journalctl -u redis -n 20.
Escalation ladder
Work from the device outward. Stop when the problem is fixed.
- Status and logs systemctl status redis; journalctl -u redis -n 50.
- redis-cli ping Confirm Redis responds when service is active.
- Config and permissions Check redis.conf; chown data dir and log file.
- Port conflicts ss -tlnp | grep 6379; stop conflicting process or change port.
- Escalate Provide status, journalctl, redis.conf.
What to capture if you need help
Before calling support or posting for help, have these ready. It speeds everything up.
- systemctl status redis output
- journalctl -u redis output
- redis.conf (relevant sections)
- Steps already tried
What does systemctl status redis show?
Run systemctl status redis. Note the Active line and any error.
You can change your answer later.
Does redis-cli ping return PONG?
When the service is active, test connectivity.
You can change your answer later.
What does journalctl show?
Read the last 50 lines of Redis logs.
You can change your answer later.
Check redis.conf
Apply fix
You can change your answer later.
Redis is running
Escalate
Reviewed by Blackbox Atlas
Frequently asked questions
- Why would Redis not start?
- Config error in redis.conf, permission denied on data dir or log file, port already in use, or insufficient memory. Check systemctl status and journalctl first.
- Can I fix Redis that will not start myself?
- Yes. Read journalctl for the error, fix redis.conf (bind, dir, logfile), check permissions with chown, and reload with systemctl restart redis.
- When should I escalate Redis start failures?
- If Redis is managed by config management, the fix requires cluster or sentinel changes, or you cannot safely modify the config.
Rate this guide
Was this helpful?
Thanks for your feedback.