2012-12-04 13 views
7

मैं अपनी django परियोजना को बंदूक, nginx, पर्यवेक्षक के साथ तैनात करता हूं। मैंने वर्चुअलएन्व में एक बंदूकधारी स्थापित की, INSTALL_APPS में जोड़ा गया। आदेश ./manage.py run_gunicorn -b 127.0.0.1:8999 काम करता है:बंदूकधारी: त्रुटि (ऐसी कोई फ़ाइल नहीं) nginx + gunicorn + पर्यवेक्षक

2012-12-04 12:27:33 [21917] [INFO] Starting gunicorn 0.16.1 
2012-12-04 12:27:33 [21917] [INFO] Listening at: http://127.0.0.1:8999 (21917) 
2012-12-04 12:27:33 [21917] [INFO] Using worker: sync 
2012-12-04 12:27:33 [22208] [INFO] Booting worker with pid: 22208 

nginx के लिए मैं nginx.conf संपादित:

server { 
    listen 111111111:80; 
    server_name my_site.pro; 

    access_log /home/user/logs/nginx_access.log; 
    error_log /home/user/logs/nginx-error.log; 

    location /static/ { 
     alias /home/user/my_project/static/; 
    } 
    location /media/ { 
     alias /home/user/my_project/media/; 
    } 
    location/{ 
     proxy_pass http://127.0.0.1:8999; 
     include /etc/nginx/proxy.conf; 
    } 
} 

कि मैं nginx को पुन: प्रारंभ करने के बाद।

supervisord.conf:

[unix_http_server] 
file=/tmp/supervisor-my_project.sock 
chmod=0700     
chown=user:user 

[supervisord] 
logfile=/home/user/logs/supervisord.log 
logfile_maxbytes=50MB   
logfile_backups=10   
loglevel=info     
pidfile=/tmp/supervisord-my_project.pid 
nodaemon=false    
minfds=1024     
minprocs=200 

[rpcinterface:supervisor] 
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 

[supervisorctl] 
serverurl=unix:///tmp/supervisor-my_project.sock 

[program:gunicorn] 
command=/home/user/bin/manage run_gunicorn -w 4 -b 127.0.0.1:8999 -t 300 --max- requests=1000 
startsecs=10 
stopwaitsecs=60 
redirect_stderr=true 
stdout_logfile=/home/user/gunicorn.log 

मैं bin/supervisorctl start all भाग गया। लेकिन मुझे मिला:

gunicorn: ERROR (no such file) 

फ़ाइल क्या गायब है? मैं अपनी परियोजना को कैसे तैनात कर सकता हूं?

उत्तर

1

चूंकि आप वर्चुअलएन्व का उपयोग कर रहे हैं, तो आपको पर्यावरण को पार्स में पर्यवेक्षक.कॉफ़ में इस्तेमाल करना होगा।

इस प्रयास करें:

[program:gunicorn] 
command=/home/user/bin/manage run_gunicorn -w 4 -b 127.0.0.1:8999 -t 300 --max-requests=1000 
environment=PATH="/home/user/bin/" 
... 

यह /home/user/bin/ संभालने है आपके virtualenv के लिए पथ है।

+0

मैं इसे करने की कोशिश मत करो। लेकिन यह काम नहीं किया। – Olga

+0

मैंने supervisord.conf संपादित किया और जोड़ा: 'command =/home/user/my_project/bin/gunicorn_django -w 4 -b 127.0.0.1:9999 -t 300 - मैक्स-अनुरोध = 1000 निर्देशिका =/home/user/my_project/stratatech/stratatech/और उस बिन/supevisorctl के बाद सभी शुरू, बंदूक शुरू किया गया था। लेकिन मेरी साइट server_name (nginx.conf) में पते पर नहीं खुलती है। क्यूं कर? – Olga

+0

nginx.conf में परिवर्तन 111111111: 80 सुनें; सुनने के लिए: 80; फिर nginx पुनरारंभ करें। – jordanvg

13

भावी खोजकर्ताओं के लिए, मुझे यह समस्या थी और मुद्दा यह था कि मुझे गनिकोर्न बाइनरी के लिए एक पूरा मार्ग प्रदान करने की आवश्यकता थी। किसी भी कारण से, यहां तक ​​कि PATH = पर्यावरण चर निर्दिष्ट पर्यवेक्षक को बाइनरी नहीं मिल सका। एक बार जब मैं/full_path/gunicorn यह काम किया। (शायद पर्यावरण चर के साथ यह सही तरीके से करने का एक तरीका है)

+1

हमारे मामले में हमने कॉन्फ़िगरेशन अपडेट करने के बाद 'पर्यवेक्षी रीड्रेड' को याद किया था, इसलिए 'स्टार्ट' कमांड एक बाइनरी की तलाश में था जिसे हटा दिया गया था। – cmbuckley

1

मुझे एक ही समस्या थी, वास्तव में मुझे पता चला कि मेरे वर्चुअल वातावरण में कोई बंदूकधारी स्थापित नहीं है।

pip install gunicorn==<version_number> 
+0

एक टिप्पणी होने के लिए अधिक उपयुक्त है क्योंकि यह 'बंदूकधारी' स्थापित करने का सुझाव है और फिर कोशिश करें! – CinCout

संबंधित मुद्दे