परिचय: आपके TypeScript प्रोजेक्ट के लिए VPS एक आदर्श स्थान क्यों है?
\n\nआपने TypeScript में एक बेहतरीन एप्लिकेशन लिखा है - चाहे वह Express सर्वर हो, Next.js साइट हो या NestJS API। स्थानीय रूप से सब कुछ पूरी तरह से काम करता है, लेकिन अब प्रोजेक्ट को दुनिया को दिखाने का समय आ गया है। कई शुरुआती डिप्लॉय के चरण से डरते हैं, इसे जटिल और भ्रमित करने वाला मानते हैं। वास्तव में, इस प्रक्रिया को एक बार समझ लें - और आप किसी भी TypeScript प्रोजेक्ट को 15-20 मिनट में डिप्लॉय कर सकते हैं।
\n\nइस गाइड में, हम VPS (वर्चुअल प्राइवेट सर्वर) पर TypeScript एप्लिकेशन डिप्लॉय करने के पूरे चक्र को समझेंगे - सर्वर तैयार करने से लेकर डोमेन और HTTPS सेटअप करने तक। यह लेख Node.js इकोसिस्टम पर केंद्रित है, क्योंकि TypeScript का उपयोग अक्सर इसी के साथ किया जाता है।
\n\nआप क्या सीखेंगे:
\n- \n
- VPS को काम के लिए कैसे तैयार करें (Ubuntu 22.04) \n
- Node.js, TypeScript और प्रोसेस मैनेजर PM2 कैसे सेटअप करें \n
- TypeScript को production-मोड में कैसे बिल्ड (कंपाइल) करें \n
- Nginx को reverse proxy के रूप में कैसे कॉन्फ़िगर करें \n
- Let's Encrypt के माध्यम से मुफ्त SSL सर्टिफिकेट कैसे कनेक्ट करें \n
1. VPS तैयार करना और आवश्यक वातावरण स्थापित करना
\n\n1.1 प्रारंभिक सर्वर सेटअप
\n\nमान लीजिए कि आपने Ubuntu 22.04 के साथ एक VPS किराए पर लिया है (उदाहरण के लिए, DigitalOcean, Timeweb या Reg.ru से)। सबसे पहले SSH के माध्यम से सर्वर से कनेक्ट करें:
\n\nssh root@आपका-सर्वर-आईपी\n\nएक अलग उपयोगकर्ता बनाएं (रूट के रूप में काम करने से अधिक सुरक्षित):
\n\nadduser deployer\nusermod -aG sudo deployer\nsu - deployer\n\n1.2 Node.js और npm स्थापित करना
\n\nTypeScript एप्लिकेशन के लिए हमें Node.js संस्करण 18 या 20 (LTS) की आवश्यकता होगी। आधिकारिक NodeSource PPA का उपयोग करें:
\n\ncurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt-get install -y nodejs\n\nस्थापना की जाँच करें:
\n\nnode -v\nnpm -v\n\n1.3 TypeScript को वैश्विक रूप से स्थापित करना (वैकल्पिक)
\n\nहालांकि TypeScript आमतौर पर प्रोजेक्ट की स्थानीय निर्भरता के रूप में आता है, त्वरित संकलन जांच के लिए इसे वैश्विक रूप से स्थापित किया जा सकता है:
\n\nsudo npm install -g typescript\n\n1.4 अपने प्रोजेक्ट को क्लोन करना
\n\nGitHub/GitLab से रिपॉजिटरी को सर्वर पर कॉपी करें:
\n\ngit clone https://github.com/आपका-उपयोगकर्ता-नाम/आपका-प्रोजेक्ट.git\ncd आपका-प्रोजेक्ट\n\nनिर्भरताएँ स्थापित करें:
\n\nnpm install\n\n2. TypeScript बिल्ड और PM2 सेटअप
\n\n2.1 TypeScript को JavaScript में कंपाइल करना
\n\nआपके package.json में एक बिल्ड स्क्रिप्ट होनी चाहिए। यह आमतौर पर इस तरह दिखती है:
{\n "scripts": {\n "build": "tsc",\n "start": "node dist/index.js",\n "dev": "ts-node-dev src/index.ts"\n }\n}\n\nबिल्ड चलाएँ:
\n\nnpm run build\n\nनिष्पादन के बाद, dist फ़ोल्डर में कंपाइल किया गया JavaScript कोड दिखाई देगा। यदि आपके पास Next.js है, तो बिल्ड कमांड npm run build होगा (Next.js स्वयं TypeScript कंपाइल करता है)।
2.2 PM2 स्थापित और कॉन्फ़िगर करना
\n\nPM2 एक प्रोसेस मैनेजर है जो आपके एप्लिकेशन को चालू रखता है, क्रैश होने पर इसे पुनरारंभ करता है और लॉग प्रबंधित करता है। इसे स्थापित करें:
\n\nsudo npm install -g pm2\n\nPM2 के माध्यम से एप्लिकेशन चलाएँ (कंपाइल की गई फ़ाइल का पथ निर्दिष्ट करें):
\n\npm2 start dist/index.js --name "my-typescript-app"\n\nयदि आपके पास Next.js है, तो कमांड अलग होगा:
\n\npm2 start npm --name "next-app" -- start\n\nसर्वर रीबूट होने पर PM2 को ऑटोस्टार्ट करने के लिए सेटअप करें:
\n\npm2 startup systemd\npm2 save\n\nअब आपका एप्लिकेशन स्थानीय पोर्ट (जैसे, 3000) पर काम कर रहा है। आइए इसे डोमेन के माध्यम से सुलभ बनाते हैं।
\n\n3. Nginx को reverse proxy के रूप में कॉन्फ़िगर करना
\n\n3.1 Nginx स्थापित करना
\n\n
ब्लॉग
पुस्तक अनुशंसाएँ
यह भी पढ़ें
JavaScriptSerializer और enum को स्ट्रिंग में बदलना: शीर्ष गलतियाँ और समाधान
Go में परीक्षण: Unit, Integration, E2E — पूर्ण गाइड
C++ कोड समीक्षा: वरिष्ठ डेवलपर्स सबसे पहले क्या पकड़ते हैं
C++ में माइक्रोसर्विसेज़: 2024 में कहाँ से शुरू करें
C# में Async और Await: कैसे और कब उपयोग करें (चरण-दर-चरण ट्यूटोरियल)