通过Upstart运行Django网站

我在我的一台Ubuntu服务器上托pipe了几个Django站点。 直到最近,我一直在使用Cherokee HTTPd,它可以select像Django站点一样启动后端应用程序,但是我只是转向了nginx。

在切诺基下,我只是“运行”Django网站(网站存储在/web/ ):

 cd /web/mywebsite/; python manage.py runfcgi workdir=/web/mywebsite method=threaded socket=/web/mywebsite/sock pidfile=/web/mywebsite/pid maxspare=3 maxrequests=500 

然后我连接到/web/mywebsite/sock的套接字。 切诺基也运行这个作为我select的用户,在我的情况www-data

这种方法在切诺基下对我很有帮助,但是现在我正转向nginx,我没有什么能够抓住我的手来进行stream程pipe理。

环顾四周,有数百种不同的方式来pipe理这个问题。 初始化脚本,cron检查,daemontools。 但是,因为我在Ubuntu上(可能永远是)Upstart似乎有道理……但我从哪里开始呢?

有人能给我一个运行上面的暴发脚本的例子,如果它死了会重新生成它吗?

我有几个django站点坐在/web/ (他们是目录中唯一的目录),所以如果有一个恶作剧的方式,我可以得到这个新贵的脚本启动它们(具有相同的设置),并监视它们,这将是超级超级棒。

我使用相同的configuration,/etc/init/django.conf:

 description "Django FastCGI /web site" start on runlevel [2345] stop on runlevel [!2345] respawn exec python /web/manage.py runfcgi socket=//web/mywebsite/sock pidfile=/var/run/django.pid 

控制:

 start: start django or initctl start django stop: stop django or initctl stop django restart: restart django or initctl restart django 

我最近录制了关于configurationnginx和django(fastcgi和upstart)的video – http://linux.dyndns-work.com/video/ubuntu_server10.04_install_django_nginx_fastcgi.ogv/

但我更喜欢nginx和uwsgi(也是暴发户的初始化脚本) – 没有链接,我最多可以发布一个超链接。