एक वर्चुअल प्राइवेट सर्वर (VPS) पर एक Next.js एप्लिकेशन को डिप्लॉय करने में कई महत्वपूर्ण चरण शामिल होते हैं, आपके सर्वर वातावरण को सेट करने से लेकर रिवर्स प्रॉक्सी और प्रोसेस मैनेजर को कॉन्फ़िगर करने तक। यह गाइड Ubuntu-आधारित VPS, Nginx को रिवर्स प्रॉक्सी के रूप में, और प्रोसेस मैनेजमेंट के लिए PM2 का उपयोग करने पर केंद्रित है, साथ ही SSL प्रमाणपत्रों के लिए Certbot का भी उपयोग करता है।
पूर्वापेक्षाएँ: उबंटू (जैसे, 20.04, 22.04, या 24.04) पर चलने वाला एक वीपीएस। एक पंजीकृत डोमेन नाम जिसके डीएनएस रिकॉर्ड आपके वीपीएस के आईपी पते की ओर इंगित करते हों। लिनक्स कमांड लाइन का बुनियादी ज्ञान।
आपकी Next.js एप्लिकेशन प्रोडक्शन के लिए तैयार होनी चाहिए (इसे Git रिपॉजिटरी में पुश करना आदर्श है)।
चरण 1: अपने VPS से कनेक्ट करें और सिस्टम अपडेट करें SSH के माध्यम से कनेक्ट करें: अपना टर्मिनल खोलें और SSH का उपयोग करके अपने VPS से कनेक्ट करें:
चरण 1: अपने VPS से कनेक्ट करें और सिस्टम अपडेट करें SSH के माध्यम से कनेक्ट करें: अपना टर्मिनल खोलें और SSH का उपयोग करके अपने VPS से कनेक्ट करें:
bash
ssh your_username@your_vps_ip your_vps_ip को आपके VPS के वास्तविक IP पते से बदलें। सिस्टम पैकेजों को अपडेट और अपग्रेड करें: सुरक्षा और स्थिरता के लिए यह सुनिश्चित करना महत्वपूर्ण है कि आपके सर्वर के पैकेज अप-टू-डेट हों।
bash sudo apt update && sudo apt upgrade -y विकल्प A: NVM का उपयोग करके Node.js इंस्टॉल करें (अनुशंसित) 1. NVM इंस्टॉल करें: Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से Node.js इंस्टॉल कर सकते हैं। Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से Node.js इंस्टॉल कर सकते हैं। Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से Node.js इंस्टॉल कर सकते हैं। Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से Node.js इंस्टॉल कर सकते हैं। Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से Node.js इंस्टॉल कर सकते हैं। Node.js और npm/yarn इंस्टॉल करें Next.js को Node.js की आवश्यकता है। आप लचीले संस्करण प्रबंधन के लिए Node Version Manager (NVM) का उपयोग करके, या सीधे Ubuntu की रिपॉजिटरी से NVM आमतौर पर अनुशंसित है। विकल्प A: NVM का उपयोग करके Node.js इंस्टॉल करें (अनुशंसित) 1. NVM इंस्टॉल करें: bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
(नोट: संस्करण v0.39.7 एक खोज परिणाम से है। आप नवीनतम संस्करण के लिए NVM GitHub पेज देख सकते हैं।) 2. NVM सक्रिय करें: आपको अपना टर्मिनल बंद करके फिर से खोलने की आवश्यकता हो सकती है, या अपने शेल के आधार पर निम्नलिखित कमांड में से किसी एक को चलाना होगा:
bash source ~/.bashrc # या source ~/.profile या source ~/.zshrc 3. Node.js LTS संस्करण इंस्टॉल करें: bash nvm install --lts वैकल्पिक रूप से, एक विशिष्ट संस्करण इंस्टॉल करें, जैसे, nvm install 20।
4. इंस्टॉलेशन सत्यापित करें: bash node -v npm -v यह इंस्टॉल किए गए Node.js और npm संस्करणों को प्रदर्शित करेगा। विकल्प बी: उबंटू रिपॉजिटरी से Node.js और npm इंस्टॉल करें 1. Node.js इंस्टॉल करें:
bash sudo apt install nodejs -y 2. npm इंस्टॉल करें: bash sudo apt install npm -y 3. इंस्टॉलेशन सत्यापित करें: bash node -v npm -v
चरण 3: अपना Next.js एप्लिकेशन डिप्लॉय करें अपनी रिपॉजिटरी क्लोन करें: एक उपयुक्त डायरेक्टरी (जैसे, /var/www/) में नेविगेट करें और अपनी गिट रिपॉजिटरी से अपना Next.js प्रोजेक्ट क्लोन करें। bash ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ```
sudo mkdir -p /var/www/your-app-name sudo chown -R your_username:your_username /var/www/your-app-name cd /var/www/your-app-name git clone https://github.com/your-username/your-nextjs-app.git .
यदि आपकी रिपॉजिटरी निजी है, तो सुनिश्चित करें कि आपने SSH कुंजियाँ सेटअप की हैं या HTTPS के माध्यम से क्लोनिंग के लिए एक व्यक्तिगत एक्सेस टोकन का उपयोग करें। डिपेंडेंसी इंस्टॉल करें और बिल्ड करें: अपने प्रोजेक्ट की डिपेंडेंसी इंस्टॉल करें और फिर प्रोडक्शन के लिए Next.js एप्लिकेशन को बिल्ड करें।
`bash npm install # या yarn install npm run build # या yarn build` कमांड आपके एप्लिकेशन का एक अनुकूलित प्रोडक्शन बिल्ड बनाता है। चरण 4: PM2 (प्रोसेस मैनेजर) इंस्टॉल और कॉन्फ़िगर करें
PM2 Node.js एप्लिकेशनों के लिए एक प्रोडक्शन प्रोसेस मैनेजर है जो उन्हें अनिश्चित काल तक चालू रखता है और आसान प्रबंधन को सक्षम बनाता है। npm install -g pm2
अपने Next.js एप्लिकेशन को PM2 के साथ शुरू करें। Next.js एप्लिकेशन आमतौर पर डिफ़ॉल्ट रूप से localhost:3000 पर चलते हैं। pm2 start npm --name "my-nextjs-app" --start अपने एप्लिकेशन के लिए एक वर्णनात्मक नाम के साथ "my-nextjs-app" को बदलें।यह सुनिश्चित करने के लिए कि PM2 सर्वर रीबूट पर आपके एप्लिकेशन को फिर से शुरू करे: pm2 startup systemd pm2 save
चरण 5: रिवर्स प्रॉक्सी के रूप में Nginx कॉन्फ़िगर करें Nginx एक रिवर्स प्रॉक्सी के रूप में काम करेगा, जो आपके डोमेन से आने वाले अनुरोधों को पोर्ट 3000 पर चल रहे आपके Next.js एप्लिकेशन तक अग्रेषित करेगा।
sudo apt install nginx -y
अपनी साइट के लिए एक नई Nginx कॉन्फ़िगरेशन फ़ाइल बनाएँ। your_domain.com को अपने वास्तविक डोमेन से बदलें। sudo nano /etc/nginx/sites-available/your_domain.com
निम्नलिखित कॉन्फ़िगरेशन जोड़ें: server {
listen 80;
server_name your_domain.com www.your_domain.com;
location / {
proxy_pass http://localhost:3000; # Next.js डिफ़ॉल्ट पोर्ट
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; }
} साइट को sites-enabled में एक सिम्लिंक बनाकर सक्षम करें और Nginx कॉन्फ़िगरेशन का परीक्षण करें:
sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
sudo nginx -t
यदि परीक्षण सफल होता है, तो Nginx को पुनः आरंभ करें: sudo systemctl restart nginx
` sudo ufw allow '` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
sudo ufw allow 'Nginx Full'
sudo ufw enable
चरण 7: (वैकल्पिक) Certbot (Let's Encrypt) के साथ SSL सेट अप करें अपने एप्लिकेशन को HTTPS के साथ सुरक्षित करने के लिए, Let's Encrypt से SSL प्रमाणपत्र प्राप्त करने और कॉन्फ़िगर करने के लिए Certbot का उपयोग करें।
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
निर्देशों का पालन करें। Certbot स्वचालित रूप से आपके Nginx कॉन्फ़िगरेशन को संशोधित करेगा और स्वचालित प्रमाणपत्र नवीनीकरण सेट अप करेगा।
चरण 8: अपनी डिप्लॉयमेंट सत्यापित करें आपकी Next.js एप्लिकेशन अब HTTPS पर आपके डोमेन नाम (या यदि आपने डोमेन सेटअप छोड़ा है तो VPS आईपी पते) के माध्यम से एक्सेस योग्य होनी चाहिए। अपना वेब ब्राउज़र खोलें और https://your_domain.com पर जाएँ। (वैकल्पिक) CI/CD सेट अप करें
स्वचालित डिप्लॉयमेंट के लिए, GitHub Actions, GitLab CI, या Jenkins जैसे टूल का उपयोग करके एक कंटीन्यूअस इंटीग्रेशन/कंटीन्यूअस डिप्लॉयमेंट (CI/CD) पाइपलाइन सेटअप करने पर विचार करें। यह आपके रिपॉजिटरी में नया कोड पुश करने पर, आपके एप्लिकेशन को क्लोन करने, इंस्टॉल करने, बिल्ड करने और VPS पर रीस्टार्ट करने के चरणों को स्वचालित कर देगा। आपका Next.js एप्लिकेशन अब आपके डोमेन नाम के माध्यम से एक्सेस योग्य होना चाहिए!