VPS पर JavaScript एप्लिकेशन का डिप्लॉयमेंट: चरण-दर-चरण मार्गदर्शिका

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

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

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

परिचय: प्रोडक्शन के लिए VPS सबसे अच्छा विकल्प क्यों है

Node.js पर JavaScript एप्लिकेशन विकसित करना केवल आधा काम है। दूसरा, उतना ही महत्वपूर्ण हिस्सा है production सर्वर पर डिप्लॉय करना। कई नौसिखिए डेवलपर मुफ्त होस्टिंग (Heroku, Render, Vercel) का उपयोग करते हैं, लेकिन गंभीर प्रोजेक्ट्स के लिए देर-सबेर VPS (Virtual Private Server) की आवश्यकता होगी।

VPS एनवायरनमेंट पर पूर्ण नियंत्रण देता है: आप स्वयं Node.js का वर्जन चुनते हैं, वेब सर्वर कॉन्फ़िगर करते हैं, प्रोसेस और संसाधनों का प्रबंधन करते हैं। इस लेख में, हम आधुनिक टूल्स का उपयोग करके VPS पर JavaScript एप्लिकेशन को डिप्लॉय करने की चरण-दर-चरण प्रक्रिया को समझेंगे: Nginx reverse proxy के रूप में, PM2 प्रोसेस मैनेजमेंट के लिए, Let's Encrypt SSL के लिए और GitHub Actions ऑटोमेशन के लिए।

चरण 1: सर्वर तैयार करना और आवश्यक सॉफ्टवेयर इंस्टॉल करना

पहला कदम आपके VPS से कनेक्ट करना (आमतौर पर SSH के माध्यम से) और बुनियादी टूल्स का सेट इंस्टॉल करना है। मान लीजिए आप Ubuntu 22.04 LTS का उपयोग कर रहे हैं।

# पैकेज अपडेट करें
sudo apt update && sudo apt upgrade -y

# Node.js इंस्टॉल करें (NodeSource के माध्यम से अनुशंसित)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# वर्जन जांचें
node -v
npm -v

# Git इंस्टॉल करें (यदि पहले से इंस्टॉल नहीं है)
sudo apt install git -y

# Nginx इंस्टॉल करें
sudo apt install nginx -y

साथ ही, बुनियादी फ़ायरवॉल (UFW) कॉन्फ़िगर करना सुनिश्चित करें:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

चरण 2: रिपॉजिटरी क्लोन करना और एप्लिकेशन कॉन्फ़िगर करना

अब एप्लिकेशन कोड को सर्वर पर ट्रांसफर करना होगा। सबसे आसान तरीका GitHub/GitLab से रिपॉजिटरी क्लोन करना है।

# /var/www डायरेक्टरी पर जाएं (वेब प्रोजेक्ट्स के लिए मानक)
cd /var/www

# रिपॉजिटरी क्लोन करें (अपने URL से बदलें)
sudo git clone https://github.com/आपका-यूज़रनेम/आपका-रिपॉजिटरी.git myapp

# वर्तमान उपयोगकर्ता को अनुमति दें
sudo chown -R $USER:$USER /var/www/myapp

# एप्लिकेशन फ़ोल्डर में जाएं
cd /var/www/myapp

# डिपेंडेंसी इंस्टॉल करें
npm install --production

एनवायरनमेंट वेरिएबल्स (पोर्ट, API की, DB कनेक्शन स्ट्रिंग) के लिए .env फ़ाइल बनाएं:

# .env का उदाहरण
PORT=3000
NODE_ENV=production
DATABASE_URL=mongodb://localhost:27017/myapp
JWT_SECRET=आपका-गुप्त-कुंजी

चरण 3: प्रोसेस मैनेजमेंट के लिए PM2 कॉन्फ़िगर करना

PM2 Node.js के लिए एक प्रोसेस मैनेजर है, जो क्रैश होने पर एप्लिकेशन को ऑटोमैटिकली रीस्टार्ट करता है और इसे बैकग्राउंड में चालू रखता है।

# PM2 को ग्लोबली इंस्टॉल करें
sudo npm install -g pm2

# एप्लिकेशन शुरू करें (यदि entry point app.js या server.js है)
pm2 start app.js --name "myapp"

# रीबूट पर ऑटोस्टार्ट के लिए प्रोसेस लिस्ट सेव करें
pm2 save
pm2 startup systemd

pm2 startup चलाने के बाद, आपको एक कमांड दिखाई देगी जिसे रूट अधिकारों के साथ चलाना होगा। इसे कॉपी करके चलाएं।

स्टेटस pm2 status कमांड से जांचा जा सकता है। यदि एप्लिकेशन चल रहा है, तो यह http://आपका-ip:3000 (.env से पोर्ट) पर उपलब्ध होगा।

चरण 4: Nginx को reverse proxy के रूप में कॉन्फ़िगर करना

पोर्ट 3000 के माध्यम से Node.js तक सीधी पहुंच अच्छी प्रैक्टिस नहीं है। Nginx को प्रॉक्सी सर्वर के रूप में उपयोग करना बेहतर है, जो पोर्ट 80 (HTTP) पर अनुरोध प्राप्त करेगा और उन्हें आपके एप्लिकेशन पर रीडायरेक्ट करेगा।

अपने डोमेन (या IP) के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं:

sudo nano /etc/nginx/sites-available/myapp

निम्नलिखित कोड पेस्ट करें:

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 Connectio
```                

ब्लॉग

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