3

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.

2 Answers 2

6

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.

1
  • This actually answers the question so I'm marking this as the answer. Thank you.
    – Bjorn
    Jan 17, 2011 at 0:41
2

Take a look at forever.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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