2011-06-13 7 views
21

मैं फ्लास्क का उपयोग कर पाइथन में लिखे गए एक छोटे से आवेदन को रोकता हूं। अभी मैं इसे नोहप के नीचे चला रहा हूं, लेकिन मैं इसे डिमन करना चाहता हूं। ऐसा करने का सही तरीका क्या है?आप फ्लास्क एप्लिकेशन को कैसे डिमननाइज़ करते हैं?

उत्तर

29

There are several ways to deploy a Flask projectgunicorn साथ नियोजित करना, सबसे आसान हो सकता है gunicorn और फिर स्थापित करें:

gunicorn project:app --daemon 

हालांकि आप शायद (कम से कम पर्यवेक्षक या कि प्रकृति के कुछ का उपयोग करने के gunicorn नजर रखने के लिए --pid उपयोग करें ताकि आप फिर से लोड कर सकते हैं/रोक आसानी से gunicorn)।

2

यदि आपके पास पहले से ही पर्यवेक्षक स्थापित है, तो मुझे लगता है कि बंदूकधारी थोड़ा अनावश्यक होगा। निम्नलिखित एक flask.ini फ़ाइल है जिसे /etc/supervisord.d/ में हटाया जा सकता है (फिर कॉन्फ़िगर को पुनः लोड करने और प्रक्रिया शुरू करने के लिए "पर्यवेक्षी पुनः लोड")।

command=/opt/flask/env0/bin/python /opt/flask/developer/FlaskWebServer.py 
directory=/opt/flask 
redirect_stderr=true 
startsecs=5 
autorestart=true 
stdout_logfile=/opt/flask/flask.stdout.log 
+0

ध्यान दें कि इस सेटअप के साथ आप फ्लास्क अंतर्निहित सर्वर चला रहे हैं, जो अच्छी तरह से स्केल नहीं करता है। –

0

आप इसे निगरानी और यह रिबूट के दौरान जारी रहता रखना चाहते हैं, तो आप इस्तेमाल कर सकते हैं immortal

आप इसे इस तरह कह सकते हैं:

अमर -l/var/log/your- एप्लिकेशन gunicorn परियोजना: एप्लिकेशन

या run.yml के माध्यम से, उदाहरण के लिए:

cmd: gunicorn project:app 
cwd: /path/of/project 
env: 
    DEBUG: 1 
    ENVIRONMENT: production 
log: 
    file: /var/log/app.log 
    age: 86400 # seconds 
    num: 7  # int 
    size: 1 # MegaBytes 
    timestamp: true # will add timesamp to log 
stderr: 
    file: /var/log/app-error.log 
    age: 86400 # seconds 
    num: 7  # int 
    size: 1 # MegaBytes 
    timestamp: true # will add timesamp to log 
user: www 

अमर के बारे में अधिक जानकारी: https://immortal.run/about/

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