VPS पर TypeScript एप्लिकेशन का डिप्लॉयमेंट: चरण-दर-चरण मार्गदर्शिका
आपने TypeScript में एक शानदार एप्लिकेशन लिखा है। लोकली सब कुछ सही काम कर रहा है, लेकिन अब प्रोजेक्ट को दुनिया को दिखाने का समय है। VPS (Virtual Private Server) पर डिप्लॉय करना एक तार्किक और लचीला कदम है। क्लाउड प्लेटफॉर्म के विपरीत, VPS एनवायरनमेंट पर पूर्ण नियंत्रण देता है।
इस लेख में, हम VPS पर TypeScript एप्लिकेशन डिप्लॉय करने की चरण-दर-चरण प्रक्रिया पर चर्चा करेंगे। हम Node.js, प्रक्रियाओं के प्रबंधन के लिए PM2 और रिवर्स प्रॉक्सी के रूप में Nginx का उपयोग करेंगे। सभी उदाहरण TypeScript में हैं।
यह माना जाता है कि आपको Linux और SSH के साथ काम करने का बुनियादी ज्ञान है।
1. सर्वर तैयार करना और कनेक्ट करना
पहला कदम VPS (DigitalOcean, Vultr, Timeweb आदि) किराए पर लेना और SSH के माध्यम से कनेक्ट करना है।
ssh root@आपका_सर्वर_आईपीतुरंत पैकेज अपडेट करें और आवश्यक उपयोगिताएँ स्थापित करें:
apt update && apt upgrade -yapt install curl git nginx -yNode.js स्थापित करें (हम LTS वर्शन की सलाह देते हैं):
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -apt install -y nodejsवर्शन जाँचें:
node -vnpm -v2. रिपॉजिटरी क्लोन करना और TypeScript बिल्ड करना
अब अपना प्रोजेक्ट क्लोन करें। उदाहरण के लिए, हम TypeScript में एक सरल Express एप्लिकेशन का उपयोग करेंगे:
git clone https://github.com/आपका_यूज़रनेम/आपका_रिपॉजिटरी.gitcd आपका_रिपॉजिटरीडिपेंडेंसी स्थापित करें:
npm installTypeScript को JavaScript में कंपाइल करना होगा। यह आमतौर पर इस कमांड से किया जाता है:
npm run buildpackage.json में इसे इस प्रकार लिखा जाना चाहिए:
{ "scripts": { "build": "tsc", "start": "node dist/index.js" }}जाँचें कि dist फ़ोल्डर में कंपाइल की गई फ़ाइलें मौजूद हैं।
3. PM2 स्थापित करना और कॉन्फ़िगर करना
PM2 Node.js के लिए एक प्रक्रिया प्रबंधक है। यह एप्लिकेशन के क्रैश होने पर उसे पुनरारंभ करता है, लॉग और क्लस्टरिंग को सपोर्ट करता है।
PM2 को ग्लोबली स्थापित करें:
npm install pm2 -gएप्लिकेशन चलाएँ:
pm2 start dist/index.js --name "my-typescript-app"प्रक्रियाओं की सूची सहेजें ताकि PM2 सर्वर रीबूट के बाद उन्हें पुनर्स्थापित कर सके:
pm2 savepm2 startupPM2 एक कमांड दिखाएगा जिसे निष्पादित करना होगा (आमतौर पर systemctl enable pm2-root)। इसे कॉपी करें और चलाएँ।
स्थिति इस कमांड से जाँची जा सकती है:
pm2 status4. Nginx को रिवर्स प्रॉक्सी के रूप में कॉन्फ़िगर करना
Nginx पोर्ट 80 (HTTP) पर अनुरोध प्राप्त करेगा और उन्हें आपके एप्लिकेशन (उदाहरण के लिए, पोर्ट 3000) पर रीडायरेक्ट करेगा।
एक कॉन्फ़िगरेशन फ़ाइल बनाएँ:
nano /etc/nginx/sites-available/my-typescript-appनिम्नलिखित कोड डालें (server_name को अपने डोमेन या IP से बदलें):
server { listen 80; server_name आपका_डोमेन.ru www.आपका_डोमेन.ru;
location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}साइट को सक्रिय करें:
ln -s /etc/nginx/sites-available/my-typescript-app /etc/nginx/sites-enabled/nginx -tsystemctl restart nginxअब आपका एप्लिकेशन IP या डोमेन के माध्यम से उपलब्ध है।
5. Certbot के साथ HTTPS (SSL) कॉन्फ़िगर करना
HTTPS के बिना अब काम नहीं चलता। Let's Encrypt और Certbot का उपयोग करें।
Certbot स्थापित करें:
apt install certbot python3-certbot-nginx -yसर्टिफिकेट प्राप्त करने के लिए चलाएँ:
certbot --nginx -d आपका_डोमेन.ru -d www.आपका_डोमेन.ruस्ल