我通過調用python manage.py run_gunicorn
(在virtualenv中)啓動gunicon。如何在服務器重啓後通過Django manage.py啓動gunicorn
我的Ubuntu 12.04服務器重新啓動後,如何實現重新啓動gunicorn?
我通過調用python manage.py run_gunicorn
(在virtualenv中)啓動gunicon。如何在服務器重啓後通過Django manage.py啓動gunicorn
我的Ubuntu 12.04服務器重新啓動後,如何實現重新啓動gunicorn?
由於我在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
您可以使用主管在啓動時啓動您的應用程序,並在崩潰時重新啓動。
安裝主管,並創建一個配置文件/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
大感謝隊友怎麼會這樣有可能與新貴 – j7nn7k
這是基於@ 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
? 「開始:工作未能啓動」 ,, \t 新貴可以」運行django_sf_flavour.conf在ubuntu 14.04 – do01
經過一番測試後,我發現問題是start_gunicorn.sh沒有權限:(所以用這個命令「chmod 775 start_gunicorn.sh」,它的工作就像是魅力:),謝謝 – do01