2009-12-05 104 views
1

我使用Capistrano來部署一個Django應用程序(它使用Nginx作爲Web服務器),使用我在http://akashxav.com/2009/07/11/getting-django-running-on-nginx-and-fastcgi-on-prgmr/(我今天早些時候看過一個緩存版本)中找到的指令,並想知道關於在那裏最後一個命令,這是Django應用程序部署幫助

python manage.py runfcgi host=127.0.0.1 port=8081 --settings=settings 

我在一個較高的水平,這是告訴我們要運行的FastCGI二進制的少數情況下就可以提供這個應用程序的應用理解。

我想知道的是如何處理「重置」這個,因爲缺乏一個更好的詞最好的方式。對於那些不知道的人來說,Capistrano通過創建「發佈」目錄來部署,然後爲最新版本提供符號鏈接。

因爲我可以執行部署後任務(我已經使用CakePHP應用程序完成了這項工作,可以爲應用程序中的緩存目錄正確設置目錄權限),但我想知道如何關閉由應用程序創建的現有進程上面的命令並啓動新的命令。

我希望我有道理。

回答

1

有一個section in the django docs about this

基本上使用pidfile進程文件選項manage.py然後寫一個小的shell腳本,以使用PID,如果它開始新的人之前存在殺死現有的CGI進程。

像這樣的事情

#!/bin/bash 
if [ -f "pidfile" ]; then 
    kill `cat -- pidfile` 
    rm -f -- pidfile 
fi 
exec python manage.py runfcgi host=127.0.0.1 port=8081 pidfile=pidfile --settings=settings 

NB FastCGI支持已被棄用,將在Django 1.9

+0

被刪除此鏈接提供了404十月的2015年 – 2015-10-11 00:11:47

+0

@BryanOakley我更新的鏈接,並指出, FastCGI正在被刪除 - 謝謝你的提高 – 2015-10-12 13:49:22