← ब्लॉग
Engineering

Python ऐप होस्टिंग: Django, Flask और FastAPI डिप्लॉय करें

Yura Dubinin
इससे सारांश बनवाएँ:

Python ऐप होस्टिंग की शुरुआत उस प्रोसेस से होती है जिसे आपका एप्लिकेशन चलाना चाहता है। Django और Flask आमतौर पर WSGI सर्वर इस्तेमाल करते हैं; FastAPI ASGI सर्वर इस्तेमाल करता है। Celery वर्कर या शेड्यूल्ड स्क्रिप्ट का लाइफ़साइकल अलग होता है। ऐसा होस्ट चुनें जो इन प्रोसेस, डेटाबेस और उस स्टोरेज को सपोर्ट करता हो जिसकी आपके ऐप को ज़रूरत है।

यह गाइड Lizard ने प्रकाशित की है। हमने 9 सितंबर 2026 को लिंक किए गए फ़्रेमवर्क और प्रोवाइडर डॉक्यूमेंटेशन की जाँच की। उदाहरणों में साफ़ मॉड्यूल नाम दिए गए हैं, जिन्हें आपको अपने प्रोजेक्ट के हिसाब से बदलना होगा।

होस्ट से पहले रनटाइम चुनें

एप्लिकेशनप्रोडक्शन प्रोसेसजाँचने लायक दूसरी ज़रूरतें
WSGI के साथ DjangoGunicorn या कोई दूसरा सपोर्टेड WSGI सर्वरडेटाबेस, माइग्रेशन, स्टैटिक फ़ाइलें और अपलोड
async फ़ीचर्स के साथ Djangoकोई सपोर्टेड ASGI सर्वरकनेक्शन हैंडलिंग और ऐप की डिपेंडेंसीज़ की कम्पैटिबिलिटी
Flaskप्रोडक्शन WSGI सर्वरऐप का इम्पोर्ट पाथ या फ़ैक्टरी, सीक्रेट्स और डेटाबेस
FastAPIUvicorn या कोई दूसरा ASGI सर्वरस्टार्टअप टास्क, कंकरेंसी और डेटाबेस कनेक्शन
Celery वर्करअलग क्यू कंज़्यूमरब्रोकर, रिज़ल्ट बैकएंड (अगर इस्तेमाल हो), रीट्राई और शटडाउन
स्क्रिप्ट या बैच जॉबऐसा प्रोसेस जो चलकर बंद हो जाता हैशेड्यूल, टाइमआउट, एग्ज़िट स्टेटस और टिकाऊ आउटपुट

डेवलपमेंट सर्वर सिर्फ़ डेवलपमेंट के लिए है। आधिकारिक Django डिप्लॉयमेंट गाइड, Flask प्रोडक्शन गाइड और FastAPI वर्कर गाइड देखें।

ज़रूरत के हिसाब से Python होस्टिंग विकल्प

होस्टइस पर क्यों विचार करेंचुनने से पहले जाँचें
Lizardमैनेज्ड डेटा सर्विसेज़ और CLI ऑपरेशंस के साथ वेब सर्विसेज़ और वर्कर्सरनटाइम सेटिंग्स, डेटाबेस वायरिंग और मापा गया रिसोर्स उपयोग
Railwayएक प्रोजेक्ट में कई सर्विसेज़सभी सर्विसेज़ की खपत और प्लान क्रेडिट
Renderवेब और वर्कर इंस्टेंस के प्रकाशित प्लानडेटाबेस की अलग लागत और मुफ़्त सर्विस की पाबंदियाँ
PythonAnywherePython पर केंद्रित होस्टिंग वर्कफ़्लोआपके प्लान में WSGI/ASGI सपोर्ट, आउटबाउंड एक्सेस और टास्क लिमिट
Cloud RunHTTP सर्विसेज़, जॉब्स या वर्कर पूलरिसोर्स टाइप, बिलिंग मोड, कंकरेंसी और कोल्ड स्टार्ट
Fly.ioचुने हुए रीजन में मशीनेंमशीन साइज़िंग, स्टोरेज और नेटवर्क शुल्क
DigitalOcean App Platformमैनेज्ड सोर्स या इमेज डिप्लॉयमेंटबिल्ड सपोर्ट, ऐप कंपोनेंट और डेटाबेस प्राइसिंग
Herokuजाना-पहचाना Python डिप्लॉयमेंट वर्कफ़्लोमौजूदा प्लान, ऐडऑन और प्रोडक्ट की दिशा
VPSसर्वर पर सीधा कंट्रोलअपडेट, प्रोसेस मैनेजमेंट, TLS, बैकअप और रिकवरी

होस्टिंग के बड़े फ़ैसले के लिए PaaS तुलना देखें। फ़ीचर टेबल में Python का बैज होना वर्कर या डेटाबेस सपोर्ट की पुष्टि के लिए काफ़ी नहीं है।

मुफ़्त Python होस्टिंग में वर्कलोड की सीमा होती है

मुफ़्त प्लान आउटबाउंड रिक्वेस्ट पर रोक लगा सकता है, इनएक्टिव वेब प्रोसेस को स्लीप में डाल सकता है, टास्क चलाने को सीमित कर सकता है या सिर्फ़ ट्रायल क्रेडिट दे सकता है। ये शर्तें डेमो के लिए ठीक हो सकती हैं, लेकिन वेबहुक रिसीवर या क्यू वर्कर के लिए नहीं।

Render के मुफ़्त सर्विस नियम और PythonAnywhere के मुफ़्त अकाउंट के फ़ीचर्स देखें। Cloud Run के लिए प्राइसिंग पेज पर बिल होने वाले रिसोर्स के साथ मुफ़्त उपयोग भी बताया गया है। डेटाबेस, इमेज रजिस्ट्री या नेटवर्क उपयोग उस मुफ़्त लिमिट से बाहर हो सकते हैं जिसे आप देख रहे हैं।

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

बिल्ड और स्टार्ट कमांड

जिस प्रोजेक्ट में requirements.txt इस्तेमाल होता है, उसकी पिन की गई डिपेंडेंसीज़ इस कमांड से इंस्टॉल करें:

python -m pip install -r requirements.txt

अगर आपकी रिपॉज़िटरी uv, Poetry या कोई दूसरा टूल इस्तेमाल करती है, तो उसमें पहले से मौजूद पैकेज मैनेजर और लॉकफ़ाइल का ही इस्तेमाल करें। प्रोडक्शन सर्वर को डिपेंडेंसीज़ में शामिल करें। ऐसे पैकेज पर भरोसा न करें जो सिर्फ़ आपके लैपटॉप पर इंस्टॉल है।

Django के लिए, जहाँ myproject/wsgi.py एप्लिकेशन को डिफ़ाइन करता है:

gunicorn myproject.wsgi:application --bind "0.0.0.0:${PORT:-3000}"

Flask के लिए, जहाँ app.py से app एक्सपोर्ट होता है:

gunicorn app:app --bind "0.0.0.0:${PORT:-3000}"

FastAPI के लिए, जहाँ main.py से app एक्सपोर्ट होता है:

uvicorn main:app --host 0.0.0.0 --port "${PORT:-3000}"

इन कमांड में पोर्ट वेरिएबल को शेल एक्सपैंड करता है। JSON-ऐरे वाला Docker CMD इसे अपने-आप एक्सपैंड नहीं करता। इसके लिए रनटाइम का डॉक्यूमेंटेड वेरिएबल सपोर्ट, शेल रैपर, या एनवायरनमेंट पढ़ने वाला छोटा प्रोग्राम इस्तेमाल करें।

वर्कर्स की संख्या माप और उपलब्ध मेमोरी के आधार पर तय करें। ज़्यादा प्रोसेस ज़्यादा मेमोरी और डेटाबेस कनेक्शन ले सकते हैं; वर्कर्स बढ़ाना धीमी क्वेरी या ब्लॉक करने वाले टास्क की जाँच का विकल्प नहीं है।

एक मिनिमल FastAPI कंटेनर

ऐसे एप्लिकेशन के लिए जिसमें main.py है और लॉक की गई requirements.txt में FastAPI और Uvicorn हैं, यह Dockerfile एक सर्वर प्रोसेस शुरू करता है:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN useradd --create-home appuser
USER appuser
EXPOSE 3000
CMD ["sh", "-c", "exec uvicorn main:app --host 0.0.0.0 --port ${PORT:-3000}"]

अपने प्रोजेक्ट से मेल खाता Python वर्ज़न चुनें। .env, लोकल वर्चुअल एनवायरनमेंट, कैश और Git डेटा को .dockerignore में डालें। यह उदाहरण ऑपरेटिंग सिस्टम के अतिरिक्त पैकेज इंस्टॉल नहीं करता; सिर्फ़ वही पैकेज जोड़ें जिनकी आपकी डिपेंडेंसीज़ को ज़रूरत है।

Lizard पर आप अपना Dockerfile ला सकते हैं या सोर्स से बिल्ड का रास्ता चुन सकते हैं। डिप्लॉयमेंट गाइड में दोनों विकल्प समझाए गए हैं। आपके ऐप में एक छोटा हेल्थ एंडपॉइंट होना चाहिए, और आपको ऐसा एंडपॉइंट भी टेस्ट करना चाहिए जो उसकी असली डिपेंडेंसीज़ को इस्तेमाल करता हो।

Lizard पर जाँचा गया FastAPI डिप्लॉयमेंट

हमारे पब्लिक FastAPI उदाहरण में 9 सितंबर 2026 की तारीख वाला डिप्लॉयमेंट रिकॉर्ड है। टेस्ट में कमिट df522c1 इस्तेमाल हुआ, जिसे eu-west-lim-a में GitHub से बिल्ड किया गया था; पोर्ट 8000 था और Procfile में Uvicorn की स्टार्ट कमांड थी। इसमें Python 3.13, FastAPI 0.141.1 और Uvicorn 0.52.4 इस्तेमाल हुए। बिल्ड या स्टार्ट के लिए कोई मैन्युअल ओवरराइड सेट नहीं था।

प्रकाशित जाँच रिकॉर्ड के मुताबिक पब्लिक HTTPS URL पर छह जाँचें पास हुईं:

रिक्वेस्टदेखा गया रिज़ल्ट
GET /healthHTTP 200, {"status":"ok"} के साथ
GET /docsHTTP 200; API इंटरफ़ेस /openapi.json इस्तेमाल करता है
GET /openapi.jsonHTTP 200; स्कीमा में health और echo रूट हैं
JSON ऑब्जेक्ट के साथ POST /echoHTTP 200, वही ऑब्जेक्ट लौटता है
JSON ऐरे के साथ POST /echoगलत बॉडी टाइप के लिए HTTP 422
GET /no-such-routeHTTP 404

वह टेस्ट डिप्लॉयमेंट अब नहीं चल रहा है। अपनी कॉपी डिप्लॉय करने के लिए FastAPI डिप्लॉयमेंट गाइड देखें।

ये रिज़ल्ट बिना डेटाबेस वाले छोटे ऐप के डिप्लॉयमेंट और HTTP व्यवहार को कवर करते हैं। इनसे अपटाइम, लोड क्षमता या शुरू से आख़िर तक डिप्लॉयमेंट का समय नहीं मापा गया। उसी रिकॉर्ड में 11:48 UTC की CLI रीडिंग है: लगभग 0.034 GB मेमोरी और रिसोर्स लागत लगभग $0.00051 प्रति घंटा। यह एक पल की रीडिंग है, मासिक इनवॉइस नहीं; इसमें उस समय लागू रेट इस्तेमाल हुए थे। Lizard Pro की कीमत $19 प्रति माह है और इसमें $19 का उपयोग शामिल है; स्टोरेज और ट्रैफ़िक भी इसी उपयोग में गिने जाते हैं। ऊपर वाला Dockerfile एक अलग उदाहरण है और उस डिप्लॉयमेंट का सटीक कॉन्फ़िगरेशन नहीं दोहराता।

Django, Postgres और Celery की अलग से जाँच ज़रूरी है

Managed Postgres को उस वेरिएबल के ज़रिए कनेक्ट करें जिसे आपकी Django सेटिंग्स पढ़ती हैं। माइग्रेशन को रिलीज़ के एक नियंत्रित स्टेप की तरह चलाएँ, हर वेब वर्कर में अलग-अलग नहीं। स्टैटिक फ़ाइलों की हैंडलिंग कॉन्फ़िगर करें और अपलोड की गई फ़ाइलों को टिकाऊ स्टोरेज दें।

Celery को एक अलग सर्विस के रूप में चलाएँ, जिसमें ज़रूरी एप्लिकेशन कोड वही हो और उसकी अपनी स्टार्ट कमांड हो। ब्रोकर को साफ़ तौर पर कॉन्फ़िगर करें, जैसे अगर आपका एप्लिकेशन Redis इस्तेमाल करता है तो Managed Redis के साथ। प्रोडक्शन का काम लेने से पहले रीट्राई, डुप्लिकेट टास्क की हैंडलिंग और शटडाउन जाँचें।

अगर सर्वर आप ख़ुद चलाते हैं, तो Django VPS वॉकथ्रू देखें। मैनेज्ड वर्कर के लिए वर्कर डिप्लॉयमेंट रेफ़रेंस देखें।

पूरे Python एप्लिकेशन की लागत का अनुमान लगाएँ

वेब प्रोसेस, वर्कर, डेटाबेस, स्टोर की गई फ़ाइलें, बैकअप, ट्रांसफ़र और वह प्लान शामिल करें जिसकी आपकी टीम को ज़रूरत है। Railway खपत को मीटर करता है और अपने पेड प्लान की रकम उपयोग में गिनता है। Render इंस्टेंस प्लान प्रकाशित करता है। PythonAnywhere अभी Developer प्लान $10 प्रति माह में दिखाता है; उसमें शामिल फ़ीचर्स को अपने ऐप की ज़रूरतों से मिलाएँ। सोर्स: Railway, Render, PythonAnywhere।

Lizard Pro की कीमत टैक्स सहित $19 प्रति माह है और इसमें $19 का उपयोग शामिल है; हर सर्विस के लिए अलग प्लान शुल्क नहीं है। 720 घंटों में औसतन 0.01 vCPU और 0.1 GB मेमोरी इस्तेमाल करने वाले और 10 GB एग्रेस वाले छोटे ऐप का कुल उपयोग लगभग $1.53 होता है, इसलिए बिल $19 आता है। अपने Python ऐप के लिए ज़रूरी डेटाबेस, वर्कर और स्टोरेज जोड़ें; ये भी उन्हीं $19 में गिने जाते हैं। पूरी कैलकुलेशन वाला उदाहरण और मौजूदा रेट देखें।

आम सवाल

क्या मैं FastAPI को उन्हीं सर्विसेज़ पर होस्ट कर सकता हूँ जिन पर Django होस्ट होता है? अक्सर हाँ, लेकिन FastAPI को ASGI सर्वर चाहिए। पक्का करें कि होस्ट आपकी स्टार्ट कमांड और ऐप में इस्तेमाल होने वाले लंबे कनेक्शन या वर्कर्स को सपोर्ट करता है।

क्या मुझे प्रोडक्शन में runserver इस्तेमाल करना चाहिए? नहीं। प्रोडक्शन WSGI या ASGI सर्वर इस्तेमाल करें और फ़्रेमवर्क की डिप्लॉयमेंट गाइड देखें।

होस्ट मेरे ऐप को unhealthy क्यों दिखाता है? बिल्ड लॉग, प्रोसेस का एग्ज़िट स्टेटस, इम्पोर्ट पाथ, बाइंड किया गया इंटरफ़ेस और अपेक्षित पोर्ट जाँचें। फिर मिसिंग वेरिएबल्स और डिपेंडेंसीज़ के कनेक्शन जाँचें।

क्या मुझे Dockerfile चाहिए? हर होस्ट पर नहीं। सोर्स बिल्डर इमेज बना सकता है, लेकिन सही डिपेंडेंसीज़ और प्रोडक्शन स्टार्ट कमांड फिर भी आपको देनी होंगी।

Python वर्कर के लिए सबसे अच्छा होस्ट कौन-सा है? वह जो वर्कर के लाइफ़साइकल और डिपेंडेंसीज़ को सपोर्ट करे। क्यू से काम लेना, रीट्राई और रीस्टार्ट का व्यवहार टेस्ट करें; सिर्फ़ HTTP डिप्लॉयमेंट काफ़ी नहीं है।

AI के साथ बिल्ड करें। Lizard के साथ शिप करें।

लाइव जाने के लिए आपको प्लेटफ़ॉर्म टीम की ज़रूरत नहीं है। आपका पूरा क्लाउड, बस एक CLI कमांड की दूरी पर।

सर्विसेज़
—
ऐडऑन
—
डिप्लॉयमेंट्स
—
सैंडबॉक्स स्टार्ट्स
—

हम आवश्यक साइट कार्यक्षमता और विश्लेषण के लिए कुकीज़ का उपयोग करते हैं। हमारी कुकी नीति देखें।