JAMES TAUBER

lighttpd and launchd


On a couple of occasions, I've noticed lighttpd silently dying on my remote Mac Mini that serves up a bunch of my sites including Quisition. I was switching hemispheres earlier in the week and so didn't notice for days. So I finally decided to get around to learning how to use launchd.

Turned out to be very simple.

I previously manually started lighttpd with:

sudo /usr/local/sbin/lighttpd -f /usr/local/www/lighttpd.conf

To start it (and keep it running) using launchd, I created a file:

sudo pico /Library/LaunchDaemons/net.lighttpd.plist

with the following content:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.lighttpd</string> <key>OnDemand</key> <false/> <key>Program</key> <string>/usr/local/sbin/lighttpd</string> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/lighttpd</string> <string>-f/usr/local/www/lighttpd.conf</string> <string>-D</string> </array> </dict> </plist>

(note the extra -D option) and told launchd about it with:

sudo launchctl load /Library/LaunchDaemons/net.lighttpd.plist

Just for fun, I tried killing lighttpd and launchd had dutifully restarted it before I had time to type 'ps aux'

The original post was in the categories: os_x quisition lighttpd launchd but I'm still in the process of migrating categories over.

There may be broken links to media on this page. I'm still in the process of migrating them over.