खोज…


WSGI अनुप्रयोग आवरण

सिस्टम-व्यापी पायथन इंस्टॉलेशन से अलग प्रत्येक एप्लिकेशन के लिए निर्भरता बनाए रखने के लिए कई फ्लास्क एप्लिकेशन एक वर्चुअन में विकसित किए जाते हैं। सुनिश्चित करें कि mod-wsgi आपके virtualenv में स्थापित है:

pip install mod-wsgi

फिर अपने फ्लास्क एप्लिकेशन के लिए एक wsgi आवरण बनाएं। आमतौर पर इसे आपके एप्लिकेशन की रूट डायरेक्टरी में रखा जाता है।

मेरी-application.wsgi

activate_this = '/path/to/my-application/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
sys.path.insert(0, '/path/to/my-application')

from app import app as application

यह आवरण अपाचे से चलने पर आभासी वातावरण और इसके सभी स्थापित मॉड्यूल और निर्भरता को सक्रिय करता है, और यह सुनिश्चित करता है कि खोज पथ में एप्लिकेशन पथ पहले है। सम्मेलन द्वारा, WSGI एप्लिकेशन ऑब्जेक्ट्स को application कहा जाता application

WSGI के लिए अपाचे साइट-सक्षम कॉन्फ़िगरेशन

बिलिन वर्कर्ज़ग सर्वर पर अपाचे का उपयोग करने का लाभ यह है कि अपाचे बहु-थ्रेडेड है, जिसका अर्थ है कि आवेदन के कई कनेक्शन एक साथ किए जा सकते हैं। यह उन अनुप्रयोगों में विशेष रूप से उपयोगी है जो फ्रंट-एंड पर XmlHttpRequest (AJAX) का उपयोग करते हैं।

/etc/apache2/sites-available/050-my-application.conf (या डिफ़ॉल्ट Apache कॉन्फ़िगरेशन यदि किसी साझा वेबसर्वर पर होस्ट नहीं किया गया है)

<VirtualHost *:80>
        ServerName my-application.org

        ServerAdmin [email protected]

        # Must be set, but can be anything unless you want to serve static files
        DocumentRoot /var/www/html

        # Logs for your application will go to the directory as specified:

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # WSGI applications run as a daemon process, and need a specified user, group
        # and an allocated number of thread workers. This will determine the number
        # of simultaneous connections available.
        WSGIDaemonProcess my-application user=username group=username threads=12
        
        # The WSGIScriptAlias should redirect / to your application wrapper:
        WSGIScriptAlias / /path/to/my-application/my-application.wsgi
        # and set up Directory access permissions for the application:
        <Directory /path/to/my-application>
                WSGIProcessGroup my-application
                WSGIApplicationGroup %{GLOBAL}
                
                AllowOverride none
                Require all granted
        </Directory>
</VirtualHost>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow