My service is very basic, just an HTTP service. I just want it to restart automatically when it quits because of an error. I figured I could use runit to do this, but it seems like the runit docs mostly talk about how to convert your entire init.d to runit. I want to preserve init.d and just use runit for my one service.

I was looking at these docs.

Thanks.

EDIT: I think this is pointing in the right direction, I guess I just need to know how to make a service now.

link|improve this question
feedback

2 Answers

up vote 1 down vote accepted

Node is really simple to get running with runit. Assuming you already have runit installed in a standard directory layout, create the directory /service/node-service and place the create the file /service/node-service/run:

#!/bin/sh
chpst -unobody node /path/to/your-service.js

Make that run script executable (chmod +x run) and you can test it by running sudo ./run. If you're running on Debian or Ubuntu, rather than installing runit from source it's easiest to just apt-get install runit and create the directory /etc/sv/node-service instead of /service/node-service, and then symlink /etc/sv/node-service to /etc/service/node-service. Also, if you want your service to run in the context of a user other than nobody, you should change the -u<username> parameter to reflect that.

link|improve this answer
This actually answers the question so I'm marking this as the answer. Thank you. – apphacker Jan 17 '11 at 0:41
feedback

Take a look at forever.

link|improve this answer
That is awesome thank you! – apphacker Jan 16 '11 at 21:29
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.