Como o nginx-gridfs se conecta ao mongodb, o servidor db já deve estar em execução e pronto. Isso estava causando um problema. Primeiro eu removi o script /etc/init.d/nginx usando 'update-rc.d remove nginx' Então eu criei um script 'upstart' em /etc/init/nginx.conf:
# nginx
description "nginx http daemon"
#start on mongodb
start on (local-filesystems
and net-device-up IFACE=lo
and started mongodb)
stop on stopped mongodb
env DAEMON=/usr/local/nginx/sbin/nginx
env PID=/usr/local/nginx/logs/nginx.pid
expect fork
respawn
respawn limit 10 5
pre-start script
$DAEMON -t
if [ $? -ne 0 ]
then exit $?
fi
# Add a sleep of 10 sec. to allow mongodb to finish starting up
sleep 10
end script
exec $DAEMON
Isso resolveu o problema para mim.