TypeScript एप्लिकेशन डिप्लॉय: VPS, Docker, Cloud गाइड 2024

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

आपका TypeScript कोड दुनिया जीतने के लिए तैयार है? अब इसे प्रोडक्शन में भेजने का समय है

\n\n

आपने एक शानदार TypeScript एप्लिकेशन लिखा है। लोकल पर सब कुछ परफेक्ट चल रहा है, टाइप्स सख्त हैं, कोड सुंदर है। लेकिन जैसे ही सवाल आता है "इसे सर्वर पर कैसे चलाएं?", कई डेवलपर्स अटक जाते हैं। है ना?

\n\n

TypeScript एप्लिकेशन को डिप्लॉय करना कोई rocket science नहीं है, लेकिन यह सिर्फ "फोल्डर कॉपी कर दिया" जितना आसान भी नहीं है। इस आर्टिकल में हम तीन मुख्य तरीकों को समझेंगे: क्लासिक VPS, आधुनिक Docker और क्लाउड प्लेटफॉर्म। आप सीखेंगे कि TypeScript प्रोजेक्ट को सही तरीके से कैसे बिल्ड करें, एनवायरनमेंट सेट करें और अपडेट को ऑटोमेट करें। चलिए शुरू करते हैं!

\n\n

चरण 1: TypeScript एप्लिकेशन को डिप्लॉय के लिए तैयार करना

\n\n

सर्वर के बारे में सोचने से पहले, सुनिश्चित करें कि आपका एप्लिकेशन लोकल एनवायरनमेंट के बाहर काम करने के लिए तैयार है। TypeScript एक ओवरले है जो JavaScript में कंपाइल होता है। सर्वर पर Node.js सीधे .ts फाइलों को नहीं समझता (जब तक आप ts-node का उपयोग नहीं करते, जो प्रोडक्शन के लिए अनुशंसित नहीं है)।

\n\n

प्रोजेक्ट बिल्ड करना

\n\n

सुनिश्चित करें कि आपके package.json में सही स्क्रिप्ट्स लिखी हैं:

\n\n
{\n  "scripts": {\n    "build": "tsc",\n    "start": "node dist/index.js",\n    "dev": "ts-node-dev --respawn src/index.ts"\n  },\n  "main": "dist/index.js"\n}
\n\n

npm run build कमांड dist फोल्डर बनाएगा जिसमें तैयार JS कोड होगा। हम इसी फोल्डर को डिप्लॉय करेंगे।

\n\n

सुझाव: tsconfig.json में "outDir": "./dist" जोड़ें और node_modules के लिए exclude सेट करें:

\n\n
{\n  "compilerOptions": {\n    "outDir": "./dist",\n    "rootDir": "./src",\n    "target": "ES2020",\n    "module": "commonjs",\n    "strict": true,\n    "esModuleInterop": true\n  },\n  "include": ["src/**/*"],\n  "exclude": ["node_modules", "dist"]\n}
\n\n

तरीका 1: क्लासिक VPS — पूर्ण नियंत्रण

\n\n

VPS (Virtual Private Server) एक किराए का सर्वर है, जहां आप राजा हैं। यह उन प्रोजेक्ट्स के लिए उपयुक्त है जहां एनवायरनमेंट पर पूर्ण नियंत्रण चाहिए। आइए Ubuntu 22.04 पर डिप्लॉय देखें।

\n\n

सर्वर सेटअप

\n\n
    \n
  • SSH से कनेक्ट करें: ssh root@आपका_IP
  • \n
  • पैकेज अपडेट करें: apt update && apt upgrade -y
  • \n
  • Node.js 20.x इंस्टॉल करें: \n curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt install -y nodejs\n
  • \n
  • PM2 इंस्टॉल करें — Node.js के लिए प्रोसेस मैनेजर:\n npm install -g pm2\n
  • \n
\n\n

एप्लिकेशन डिप्लॉय करना

\n\n

सबसे आसान तरीका SCP या Git के जरिए फाइलें कॉपी करना है। मैं Git सुझाता हूं:

\n\n
git clone https://github.com/आपका-रिपॉजिटरी/प्रोजेक्ट.git /var/www/myapp\ncd /var/www/myapp\nnpm install\nnpm run build\npm2 start dist/index.js --name "myapp"\npm2 save\npm2 startup
\n\n

महत्वपूर्ण: Nginx को reverse proxy के रूप में सेट करें ताकि एप्लिकेशन पोर्ट 80 पर उपलब्ध हो:

\n\n
server {\n    listen 80;\n    server_name आपका-डोमेन.com;\n\n    location / {\n        proxy_pass http://localhost:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_cache_bypass $http_upgrade;\n    }\n}
\n\n

Certbot के जरिए SSL सेट करना न भूलें — यह मुफ्त है और आधुनिक वेब के लिए जरूरी है।

\n\n

तरीका 2: Docker — रिप्रोड्यूसिबिलिटी के लिए कंटेनराइजेशन

\n\n

Docker VPS की मुख्य समस्या हल करता है: "मेरी मशीन पर तो चल रहा है!"। कंटेनर में सब कुछ होता है — Node.js, डिपेंडेंसीज, बिल्ट कोड। एनवायरनमेंट किसी भी OS पर एक जैसा होता है।

\n\n

TypeScript के लिए Dockerfile

\n\n

मल्टी-स्टेज बिल्ड बनाएं — इससे फाइनल इमेज छोटी होती है:

\n\n
# स्टेज 1: TypeScript बिल्ड\nFROM node:20-alpine AS builder\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n\n# स्टेज 2: प्रोडक्शन इमेज

ब्लॉग

पुस्तक अनुशंसाएँ