2013-10-28 62 views
0

我的虛擬機目前正在主持一個django(ngsdbview)項目(帶有virtualenv設置的Django 1.5/gunicorn/nginx)。我沒有使用默認設置文件,而是設置了/settings/production.py(或dev.py等)。所以,我之前爲機器定義了DJANGO_SETTINGS_MODULE變量。在具有多個Django項目的機器上設置項目特定的DJANGO_SETTINGS_MODULE

現在,我添加了第二個django項目(樣本)到同一臺機器,並想知道如何配置項目特定的DJANGO_SETTINGS_MODULE變量?

感謝, Gowthaman

回答

0

您可以通過每個設置文件爲每個項目單獨guincorn。我建議您查看supervisord來管理您的guincorn進程,以便您可以使用不同的設置爲每個項目運行一個進程。

您可以設置類似

[program:project1] 
command=/var/www/project1/manage.py run_gunicorn --settings=project1.settings.production 
directory=/var/www/project1/ 
environment=PATH="/var/www/project1/venv/bin" 
user=www-data 
autostart=true 
autorestart=true 

[program:project2] 
command=/var/www/project2/manage.py run_gunicorn --settings=project2.settings.production 
directory=/var/www/project2/ 
environment=PATH="/var/www/project2/venv/bin" 
user=www-data 
autostart=true 
autorestart=true 

您的配置文件,因此,而不是在一個環境變量定義它,你可以在你的supervisord配置文件中定義設置,然後將保持過程的每一個你項目。

0

蒂姆埃德加的解決方案效果很好,我更喜歡這一點。

同時從here提示我添加了 export DJANGO_SETTINGS_MODULE=myproject.settings.production 在bin /激活腳本中。這也適用。但是,添加激活腳本可能不是最佳解決方案,因爲每次娛樂/新部署虛擬機都會消失。

相關問題