VPS पर TypeScript एप्लिकेशन का डिप्लॉयमेंट: उन्नत गाइड

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

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

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

परिचय: VPS पर डेवलपमेंट से प्रोडक्शन तक

\n\n

VPS (वर्चुअल प्राइवेट सर्वर) पर TypeScript एप्लिकेशन का डिप्लॉयमेंट किसी भी वेब प्रोजेक्ट के जीवनचक्र का एक महत्वपूर्ण चरण है। शेयर्ड-होस्टिंग पर सरल प्लेसमेंट के विपरीत, VPS एनवायरनमेंट पर पूर्ण नियंत्रण देता है, जो Node.js, Express, NestJS या Next.js के साथ काम करने वाले आधुनिक TypeScript-एप्लिकेशन के लिए महत्वपूर्ण है।

\n\n

इस लेख में, हम डिप्लॉयमेंट की उन्नत प्रक्रिया पर विचार करेंगे: TypeScript कंपाइलेशन से लेकर ऑटोमैटिक रीस्टार्ट, लोड बैलेंसिंग और मॉनिटरिंग के साथ प्रोडक्शन-एनवायरनमेंट सेटअप तक। आप सीखेंगे कि कच्चे कोड को स्थिर रूप से काम करने वाली सेवा में कैसे बदला जाए।

\n\n

1. TypeScript एप्लिकेशन को प्रोडक्शन के लिए तैयार करना

\n\n

1.1. बिल्ड और कॉन्फ़िगरेशन सेटअप

\n\n

पहला कदम यह सुनिश्चित करना है कि आपका tsconfig.json प्रोडक्शन के लिए ऑप्टिमाइज़ किया गया है। यहाँ अनुशंसित कॉन्फ़िगरेशन है:

\n\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "lib": ["ES2020"],\n    "outDir": "./dist",\n    "rootDir": "./src",\n    "strict": true,\n    "esModuleInterop": true,\n    "skipLibCheck": true,\n    "forceConsistentCasingInFileNames": true,\n    "resolveJsonModule": true,\n    "declaration": true,\n    "declarationMap": true,\n    "sourceMap": true\n  },\n  "include": ["src/**/*"],\n  "exclude": ["node_modules", "dist", "tests"]\n}\n
\n\n

package.json में बिल्ड और रन के लिए स्क्रिप्ट जोड़ें:

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

1.2. एनवायरनमेंट वेरिएबल्स का प्रबंधन

\n\n

dotenv लाइब्रेरी के साथ .env फ़ाइलों का उपयोग करें। प्रोडक्शन के लिए एक अलग फ़ाइल .env.production बनाएँ:

\n\n
NODE_ENV=production\nPORT=3000\nDB_HOST=localhost\nDB_PORT=5432\nDB_NAME=myapp_prod\nDB_USER=app_user\nDB_PASSWORD=secure_password_here\nREDIS_URL=redis://localhost:6379\n
\n\n

एनवायरनमेंट के अनुसार कॉन्फ़िगरेशन लोड करें:

\n\n
import dotenv from 'dotenv';\nimport path from 'path';\n\nconst envFile = process.env.NODE_ENV === 'production' \n  ? '.env.production' \n  : '.env.development';\n\ndotenv.config({ path: path.resolve(__dirname, `../${envFile}`) });\n\nexport const config = {\n  port: parseInt(process.env.PORT || '3000', 10),\n  db: {\n    host: process.env.DB_HOST || 'localhost',\n    port: parseInt(process.env.DB_PORT || '5432', 10),\n    name: process.env.DB_NAME || 'myapp',\n    user: process.env.DB_USER || 'user',\n    password: process.env.DB_PASSWORD || '',\n  },\n  redis: {\n    url: process.env.REDIS_URL || 'redis://localhost:6379',\n  },\n  isProduction: process.env.NODE_ENV === 'production',\n};\n
\n\n

2. VPS सेटअप और एप्लिकेशन डिप्लॉयमेंट

\n\n

2.1. सर्वर का बेसिक सेटअप

\n\n

VPS खरीदने के बाद (हम Ubuntu 22.04 LTS की सलाह देते हैं) प्रारंभिक सेटअप करें:

\n\n
    \n
  • पैकेज अपडेट: sudo apt update && sudo apt upgrade -y
  • \n
  • Node.js 20 LTS इंस्टॉल करें: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejs
  • \n
  • Git इंस्टॉल करें: sudo apt install git -y
  • \n
  • यूज़र बनाएँ: sudo adduser deployer && sudo usermod -aG sudo deployer
  • \n
\n\n

2.2. प्रोजेक्ट क्लोन और बिल्ड

\n\n

SSH के माध्यम से सर्वर से कनेक्ट करें और निष्पादित करें:

\n\n
# यूज़र पर स्विच करें\nsudo -i -u deployer\ncd ~\n\n# रिपॉजिटरी क्लोन करें\ngit clone https://github.com/your-username/your-app.git\ncd your-app\n\n# डिपेंडेंसी इंस्टॉल करें\nnpm ci --only=production\n\n# TypeScript बिल्ड करें\nnpm run build\n\n# प्रोडक्शन के लिए .env फ़ाइल बनाएँ\nnano .env.production\n
\n\n

2.3. प्रोसेस मैनेजमेंट के लिए PM2 सेटअप

\n\n

PM2 एक है

ब्लॉग

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