If you're running a replica set or have a need to shard your database, you'll want an upstart script that looks something like this:
# /etc/init/myapp.conf
description "myapp.mydomain.com"
author "[email protected]"
# used to be: start on startup
# until we found some mounts weren't ready yet while booting:
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
# upstart likes the $HOME variable to be specified
export HOME="/root"
# our example assumes you're using a replica set and/or oplog integreation
export MONGO_URL='mongodb://mongo-a,mongo-b,mongo-c:27017/?replicaSet=meteor'
# root_url and port are the other two important environment variables to set
export ROOT_URL='http://myapp.mydomain.com'
export PORT='80'
exec /usr/local/bin/node /var/www/production/main.js >> /var/log/node.log 2>&1
end script