Linux – Redis not starting on boot

linuxredisubuntu-14.04

I have installed the redis-server package on Ubuntu 14.04 LTS, running in Amazon EC2.

ii  redis-server  2:2.8.4-2  amd64
ii  redis-tools   2:2.8.4-2  amd64

It didn't start on boot. So I ran the following commands, to re-create the init scripts:

$ sudo sudo update-rc.d -f redis-server remove
 Removing any system startup links for /etc/init.d/redis-server ...
   /etc/rc0.d/K20redis-server
   /etc/rc1.d/K20redis-server
   /etc/rc2.d/S20redis-server
   /etc/rc3.d/S20redis-server
   /etc/rc4.d/S20redis-server
   /etc/rc5.d/S20redis-server
   /etc/rc6.d/K20redis-server
$ sudo sudo update-rc.d -f redis-server defaults
 Adding system startup for /etc/init.d/redis-server ...
   /etc/rc0.d/K20redis-server -> ../init.d/redis-server
   /etc/rc1.d/K20redis-server -> ../init.d/redis-server
   /etc/rc6.d/K20redis-server -> ../init.d/redis-server
   /etc/rc2.d/S20redis-server -> ../init.d/redis-server
   /etc/rc3.d/S20redis-server -> ../init.d/redis-server
   /etc/rc4.d/S20redis-server -> ../init.d/redis-server
   /etc/rc5.d/S20redis-server -> ../init.d/redis-server

The scripts are indeed there, and executable. If I manually start the service then check the status via one of the scripts:

$ sudo ./S20redis-server status
redis-server is running

However, after a reboot, redis-server is not running. I've looked in /var/log/redis/redis-server.log, and there are just shutdown and startup messages, nothing that would suggest a problem. dmesg output is similarly empty of errors.

Best Answer

Redis requires networking to start and I think redis-server is starting too soon, you can set priority for specific runleves as following:

sudo update-rc.d redis-server remove
sudo update-rc.d redis-server start 80 2 3 4 5 . stop 20 0 1 6 .
Related Topic