LighttpdUnderSupervise » History » Revision 10
Revision 9 (zikzik, 2007-01-16 01:03) → Revision 10/11 (stbuehler, 2009-03-28 14:32)
h1. Running Lighttpd under daemontools/supervise Lighttpd is well suited to run monitored by the "supervise" program from Daniel J. Bernstein's "daemontools":http://cr.yp.to/daemontools.html package. To set it up, you must first create a standard service directory structure. In the following example the service directory from where the process starts will be /srv/lighttpd-main/. It consists of the following directory and files: <pre> /srv/lighttpd-main/ # the service directory /srv/lighttpd-main/run # the script that starts lighttpd /srv/lighttpd-main/root/ # lighttpd configuration files go here /srv/lighttpd-main/log/ # the service directory for the logger /srv/lighttpd-main/log/run # the script that starts the logger /srv/lighttpd-main/log/main/ # log files go here </pre> If you're using "Gentoo":http://gentoo.org, use /var/services instead of /srv Note: the "./root/" directory is optional and could be called anything, and we use it here simply to have somewhere to put the configuration file_s_ (we chop up the configuration into several files and use the _include_ statement). h2. File ./run <pre> #!sh #! /bin/sh exec 2>&1 exec lighttpd -D -f ./root/lighttpd.conf </pre> h2. File ./root/lighttpd.conf Apart from your specific settings you probably want to include the following definitions: <pre> server.pid-file = "./root/lighttpd.pid" #server.errorlog must be NOT be set </pre> h2. File ./log/run <pre> #!sh #! /bin/sh umask 0027 exec setuidgid nobody multilog ./main </pre> h2. Directory ./log/main/ The user that is specified to run multilog (_nobody_ in the above example) must have write access to this directory: <pre> #!ShellExample # chown nobody ./log/main/ </pre> ---- After the configuration file is in place, just place a symlink into the svscan service directory (/service in DJB's examples): <pre> #!ShellExample # ln -s /srv/lighttpd-main /service/ </pre> (Please visit "Wayne Marshalls overview":http://thedjbway.org/daemontools.html in case you're lost at this point). That's all you need to get started. See also [[LighttpdUnderSuperviseExampleConfiguration]]. LighttpdUnderSuperviseExampleConfiguration. h2. Runit See also [[HowToRunLightyWithRunit]] HowToRunLightyWithRunit (for graceful restart wrapper)