Skip to content

Instantly share code, notes, and snippets.

@bdotdub
Created November 24, 2010 22:18
Show Gist options
  • Select an option

  • Save bdotdub/714533 to your computer and use it in GitHub Desktop.

Select an option

Save bdotdub/714533 to your computer and use it in GitHub Desktop.
Running redis using upstart on Ubuntu

Running redis using upstart on Ubuntu

I've been trying to understand how to setup systems from the ground up on Ubuntu. I just installed redis onto the box and here's how I did it and some things to look out for.

To install:

sudo apt-get install redis-server

That will create a redis user and install the init.d script for it. Since upstart is now the replacement for using init.d, I figure I should convert it to run using upstart.

To disable the default init.d script for redis:

sudo update-rc.d redis-server disable

Then create /etc/init/redis-server.conf with the following script:

description "redis server"

start on runlevel [23]
stop on shutdown

exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf

respawn

What this is is the script for upstart to know what command to run to start the process. The last line also tells upstart to keep trying to respawn if it dies.

One thing I had to change in /etc/redis/redis.conf is to change daemonize yes to daemonize no. What happens if you don't change it is that redis-server will fork and daemonize itself, and the parent process goes away. When this happens, upstart thinks that the process has died/stopped and you won't have control over the process from within upstart.

Now you can use the folowing commands to control your redis-server:

sudo start redis-server
sudo restart redis-server
sudo stop redis-server

Hope this was helpful!

@rkbenton

Copy link
Copy Markdown

Worked a treat. Thank you!

@JREAM

JREAM commented Apr 11, 2015

Copy link
Copy Markdown

Thanks awesome

@algodave

Copy link
Copy Markdown

Great job! Thanks

@ctownsen357

Copy link
Copy Markdown

Just what I needed - thank you for the detailed write up!

ghost commented Jul 13, 2016

Copy link
Copy Markdown

Yes! Great! Thank you!!!!

@minhvn

minhvn commented Sep 28, 2016

Copy link
Copy Markdown

Thank, great :)

@padi

padi commented Dec 28, 2016

Copy link
Copy Markdown

Thank you! I would've missed that last detail on redis.conf.

@onepip

onepip commented Jul 17, 2017

Copy link
Copy Markdown

thank u

@xcLtw

xcLtw commented Aug 14, 2017

Copy link
Copy Markdown

mark

@briancyzhang

Copy link
Copy Markdown

mark. good post. thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment