Flask वेब एप्लीकेशन बनाने के लिए एक लोकप्रिय पायथन माइक्रोफ्रेमवर्क है। कभी-कभी, आपको अपनी Flask ऐप को आपके स्थानीय मशीन से ही नहीं, बल्कि आपके नेटवर्क पर किसी भी डिवाइस से सुलभ बनाने की आवश्यकता होती है। इसके लिए app.run()
में host
पैरामीटर को '0.0.0.0'
पर सेट करना आवश्यक है। यह लेख बताता है कि आपके Flask डेवलपमेंट सर्वर को नेटवर्क एक्सेसिबिलिटी के लिए कैसे कॉन्फ़िगर करें।
विषय सूची
app.run()
फ़ंक्शन- होस्ट पैरामीटर को कॉन्फ़िगर करना
- पोर्ट पैरामीटर का उपयोग करना
- डिबग मोड
- सब कुछ एक साथ जोड़ना
- प्रोडक्शन परिनियोजन
app.run()
फ़ंक्शन
app.run()
फ़ंक्शन Flask डेवलपमेंट सर्वर शुरू करता है। यह इसके व्यवहार को अनुकूलित करने के लिए कई वैकल्पिक तर्क स्वीकार करता है। प्रमुख तर्क host
, port
और debug
शामिल हैं।
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello, World!
"
if __name__ == "__main__":
app.run() # डिफ़ॉल्ट रूप से host='127.0.0.1', port=5000
यह पोर्ट 5000 का उपयोग करके localhost
(127.0.0.1
) पर सर्वर शुरू करता है। इसे अन्य उपकरणों से सुलभ बनाने के लिए, हम host
पैरामीटर को समायोजित करेंगे।
होस्ट पैरामीटर को कॉन्फ़िगर करना
host
पैरामीटर उस नेटवर्क इंटरफ़ेस को निर्दिष्ट करता है जिस पर सर्वर सुनता है। इसे '0.0.0.0'
पर सेट करने से सर्वर को सभी उपलब्ध इंटरफेस पर सुनने का निर्देश मिलता है, जिससे आपका एप्लिकेशन उसी नेटवर्क पर किसी भी डिवाइस से सुलभ हो जाता है।
if __name__ == "__main__":
app.run(host='0.0.0.0')
पोर्ट पैरामीटर का उपयोग करना
port
पैरामीटर पोर्ट नंबर निर्दिष्ट करता है। डिफ़ॉल्ट 5000 है। यदि यह पोर्ट पहले से ही उपयोग में है, तो आपको एक विकल्प चुनना होगा।
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080)
डिबग मोड
debug
पैरामीटर कोड परिवर्तन पर स्वचालित पुनः लोडिंग और एक इंटरैक्टिव डिबगर जैसी डिबगिंग सुविधाओं को सक्षम करता है। यह विकास के दौरान बेहद उपयोगी है लेकिन उत्पादन में एक महत्वपूर्ण सुरक्षा जोखिम पैदा करता है। उत्पादन वातावरण में कभी भी debug=True
का उपयोग न करें।
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080, debug=True)
सब कुछ एक साथ जोड़ना
सभी पैरामीटरों को मिलाकर आपके डेवलपमेंट सर्वर पर पूर्ण नियंत्रण मिलता है।
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8081, debug=True)
प्रोडक्शन परिनियोजन
app.run()
विधि केवल विकास के लिए अभिप्रेत है। उत्पादन के लिए, बेहतर प्रदर्शन, सुरक्षा और विश्वसनीयता के लिए systemd या supervisord जैसे प्रक्रिया प्रबंधक के साथ Gunicorn या uWSGI जैसे उत्पादन-तैयार WSGI सर्वर का उपयोग करें।