2013-01-24 77 views

回答

3

由於我在Ubuntu和喜歡與已經列入我以前發行版新貴後開始gunicorn工具工作啓動機器。

我把下面的代碼爲/etc/init/django_sf_flavour.conf

description "Run Custom Script" 
start on runlevel [2345] 
stop on runlevel [06] 
respawn 
respawn limit 10 5 
exec /home/USER/bin/start_gunicorn.sh 

,其執行啓動後該文件(/home/USER/bin/start_gunicorn.sh):

#!/bin/bash 
set -e 
cd MY_PROJ_ROOT 
source venv/bin/activate 
test -d $LOGDIR || mkdir -p $LOGDIR 
exec python MY_PROJ_PATH/manage.py run_gunicorn 
+0

? 「開始:工作未能啓動」 ,, \t 新貴可以」運行django_sf_flavour.conf在ubuntu 14.04 – do01

+0

經過一番測試後,我發現問題是start_gunicorn.sh沒有權限:(所以用這個命令「chmod 775 start_gunicorn.sh」,它的工作就像是魅力:),謝謝 – do01

3

您可以使用主管在啓動時啓動您的應用程序,並在崩潰時重新啓動。

安裝主管,並創建一個配置文件/etc/supervisor/conf.d/your_app.conf像這樣的內容:

[program:your_app] 
directory=/path/to/app/working/dir 
command=/path/to/virtualenv_dir/bin/python /path/to/manage_py/manage.py run_gunicorn 
user=your_app_user 
autostart=true 
autorestart=true 
+0

大感謝隊友怎麼會這樣有可能與新貴 – j7nn7k

0

這是基於@ j7nn7k的答案,但有一點改變

1 - 在/ etc/init目錄下創建一個.conf文件,與新貴一起運行

cd /etc/init 
nano django_sf_flavour.conf 

2 - 在django_sf_flavour文件的行下放置並保存。

description "Run Custom Script" 
start on runlevel [2345] 
stop on runlevel [06] 
respawn 
respawn limit 10 5 
exec /home/start_gunicorn.sh 

3 - 創建家目錄start_gunicorn.sh文件有以下幾行

cd /home 
nano start_gunicorn.sh 

4 - 把這些代碼並保存它。

#!/bin/bash 
set -e 
cd mysite 
source myenv/bin/activate 
test -d $LOGDIR || mkdir -p $LOGDIR 
exec gunicorn —bind 0.0.0.0:80 mysite.wsgi:application 

5 - 到start_gunicorn.sh

cd /home 
chmod 775 start_gunicorn.sh 

** **外

檢查語法django_sf_flavour.conf用這個命令

init-checkconf /etc/init/django_sf_flavour.conf 

和答案應該設置可運行權限像這樣:

File /etc/init/django_sf_flavour.conf: syntax ok 

,你可以看到,如果需要新貴日誌文件的問題:

cat /var/log/upstart/django_sf_flavour.log 

測試你這樣的django_sf_flavour.conf文件,而無需重啓

service django_sf_flavour start 

測試您的bash文件「start_gunicorn。SH」!像django_sf_flavour這

cd /home 
bash start_gunicorn.sh 

檢查狀態

initctl list | grep django_sf_flavour