Automatic crash recovery
When we create a site, server and site logic is all tied up in one process. Whereas with other platforms, the server code is already in place. If our site code has bugs, the server is very unlikely to crash, and thus in many cases the site can stay active even if one part of it is broken.
With a Node-based website, a small bug can crash the entire process, and this bug may only be triggered once in a blue moon.
As a hypothetical example, the bug could be related to character encoding on POST requests. When someone like Felix Geisendörfer completes and submits a form, suddenly our entire server crashes because it can't handle umlauts.
In this recipe, we'll look at using Upstart, an event-driven init service available for Linux servers, which isn't based upon Node, but is nevertheless a very handy accomplice.
Getting ready
We will need Upstart installed on our server. http://upstart.ubuntu.com contains instructions on how to download and install. If we're already using...