Ubuntu 16.04 पर Node.js का उपयोग करके एक Hapi.js वेब एप्लिकेशन बनाएं

Hapi.js एक समृद्ध, मजबूत और शक्तिशाली Node.js ढांचा है जो Node.js पारिस्थितिकी तंत्र में वेब अनुप्रयोगों के निर्माण के लिए डिज़ाइन किया गया है। इसका सीधा डिजाइन इसके साथ आरंभ करना आसान बनाता है। हापी अपने मूल में कई नवीनतम जावास्क्रिप्ट ईएस 6 सुविधाओं का उपयोग करता है, जैसे ईएस 6 वादे। आप में से जिन लोगों ने पहले एक्सप्रेस का इस्तेमाल किया है, उनके लिए हापी आपको कुछ नया करने की कोशिश करता है, और सभी नवीनतम जावास्क्रिप्ट सुविधाओं का अनुभव करता है।

इस ट्यूटोरियल में, हमारा लक्ष्य एक मूल Hapi.js वेब पेज सेट करना होगा, जो कि हमारे Vultr VPS से, Ubuntu 16.04 LTS पर होस्ट किया गया है। उन लोगों के लिए जिनके पास अपनी साइट के लिए एक डोमेन है, हम अपने डोमेन को हमारी वेबसाइट से जोड़ने के लिए एक रिवर्स प्रॉक्सी का उपयोग करेंगे। अंत में, हम सीखेंगे कि प्रक्रिया प्रबंधक के साथ इसे कैसे प्रबंधित किया जाए। अब जब कि हमने इसे प्राप्त कर लिया है, तो चलिए शुरू करते हैं।

Node.js स्थापित करना

हमें Node.js. स्थापित करना होगा Ubuntu 16.04 LTS पर ऐसा करने के लिए, इन निर्देशों का पालन करें।

रिपोजिटरी जोड़ना

हमें NodeSource APT रिपॉजिटरी को जोड़ने की आवश्यकता होगी, जिसमें Node.js. की नवीनतम LTS रिलीज़ शामिल है।

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

हम एक स्क्रिप्ट डाउनलोड कर रहे हैं, जिसका उपयोग हम अपने सोर्स लिस्ट में रिपॉजिटरी को जोड़ने के लिए करेंगे, साथ ही साथ नोड्स सोर्स रिपॉजिटरी से Node.js इंस्टॉल कर रहे हैं।

बिल्ड टूल इंस्टॉल करना

स्वयं Node.js को स्थापित करने के अलावा, हमें कुछ आवश्यक बिल्ड टूल भी स्थापित करने की आवश्यकता होगी, जो किसी भी मॉड्यूल को बनाने में सहायता करेंगे जिन्हें हमें स्थापित करने की आवश्यकता हो सकती है।

sudo apt-get install -y build-essential

यह केवल रिपॉजिटरी से बिल्ड टूल्स को डाउनलोड और इंस्टॉल करता है।

आवेदन निर्देशिका की स्थापना

एक फ़ोल्डर को नामित करने के लिए यह अच्छा अभ्यास है जिसे हम अपने एप्लिकेशन के लिए उपयोग करेंगे, जिसमें हमारे एप्लिकेशन के सभी डेटा शामिल होंगे, जैसे कॉन्फ़िगरेशन फ़ाइल और स्टार्टअप स्क्रिप्ट। एक फ़ोल्डर बनाएँ, इसे नामकरण जो आप चाहते हैं। इस ट्यूटोरियल के लिए, मैं आपको इसका नाम दूंगा site

mkdir site

एक बार जब आप फ़ोल्डर बना लेते हैं, तो अब हम इसमें बदल सकते हैं। सुनिश्चित करें कि आप उस निर्देशिका में हैं जिसे आपने अभी बनाया है, एनपीएम पैकेज विज़ार्ड शुरू करें।

npm init

यह आपको कुछ अलग चीजों को इनपुट करने के लिए कहेगा, जैसे कि आपका एप्लिकेशन नाम, प्रारंभ फ़ाइल, लाइसेंस और इतने पर। अधिकांश फ़ील्ड आप डिफ़ॉल्ट को छोड़ सकते हैं, अधिक स्पष्ट फ़ील्ड्स को छोड़कर, जैसे कि आपके एप्लिकेशन का नाम। अंत में, यह इस तरह दिखेगा:

{
  "name": "site",
  "version": "1.0.0",
  "description": "Hapi.js site",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "rich",
  "license": "MIT"
}

एक बार जब आप परिणाम से संतुष्ट हो जाते हैं, ENTERतो फ़ाइल को बचाने के लिए क्लिक करें ।

Hapi.js स्थापित कर रहा है

अब जब आपकी निर्देशिका सफलतापूर्वक निर्मित हो गई है, तो अब हम Hapi.js. जैसा कि पहले उल्लेख किया गया है, हम अपने प्रोजेक्ट के लिए एनपीएम का उपयोग Hapi.js, साथ ही इसकी निर्भरता, डाउनलोड करने के लिए करेंगे। प्रोजेक्ट निर्देशिका में, निम्न चलाएँ।

npm install hapi.js

यह एनपीएम से Hapi.js को डाउनलोड करता है और इसे हमारी परियोजना निर्देशिका में स्थापित करता है। एक ही समय में, Hapi.js पर भरोसा करने वाली कोई भी निर्भरता हमारी सुविधा के लिए भी डाउनलोड की जा सकती है।

हमारे नमूना आवेदन की स्थापना

अब हमारे आधार Hapi.js एप्लिकेशन फ़ाइल को सेट करने का समय आ गया है। इसमें एप्लिकेशन के लिए हमारा सभी कोड होगा। आगे सड़क के नीचे, हम अपने एप्लिकेशन कोड पर विस्तार कर सकते हैं, और इसमें और चीजें जोड़ सकते हैं, जैसा कि हम फिट देखते हैं।

इसके बाद, हम अपनी स्टार्ट फाइल बनाएंगे। mainअपनी package.jsonफ़ाइल के अनुभाग पर वापस जाएं , यह निर्धारित करने के लिए कि फ़ाइल का नाम कैसे दिया जाए। चूंकि मैंने डिफ़ॉल्ट नामकरण योजना का उपयोग किया है, इसलिए हमारी फाइल को कॉल किया जाएगा index.js

nano index.js

एक बार जब आप नैनो टेक्स्ट एडिटर के अंदर होते हैं, तो अपना आधार एप्लिकेशन कोड बनाएं, जैसे।

const Hapi=require('hapi');
const server=Hapi.server({
    host:'localhost',
    port: 3000
});

server.route({
    method:'GET',
    path:'/',
    handler:((request,h)) => {
        return 'Sample Hapi.js Application';
    }
});
async function start() {

    try {
        await server.start();
    } catch (err) {
        console.log(err);
        process.exit(1);
    }
    console.log(`Our server is running! ${server.info.uri}`);
};

start();

सबसे पहले, हम हापी मॉड्यूल का आयात करते हैं। फिर, हम अपने सर्वर कंस्ट्रक्टर को इनिशियलाइज़ करते हैं, जिसमें वह होस्ट होता है जिसे हम सर्वर पर चलाना चाहते हैं, साथ ही पोर्ट भी, जो 3000इस ट्यूटोरियल के लिए है। अगला, हम एक मूल राउटर सेट करते हैं, जो इंगित करता है कि जब भी कोई साइट पर जाता है, तो उन्हें एक सरल संदेश के साथ बधाई दी जाएगी। यह सब बंद करने के लिए, हमारे पास अपना सर्वर शुरू करने के लिए एक async फ़ंक्शन है, जो हमारे सर्वर को चलाने वाले कंसोल पर लॉग करेगा। जब आप समाप्त कर लें, तो फ़ाइल को सहेजें और बंद करें ( CTRL+ X)

अब जब हमारी मुख्य फ़ाइल सेट हो गई है, हम अपना आवेदन शुरू करने के लिए तैयार हैं।

node index.js

यदि आप Our server is running!कंसोल में " " देखते हैं , तो सर्वर सफलतापूर्वक शुरू हुआ।

Nginx स्थापित करें

चूंकि Nginx डिफ़ॉल्ट Ubuntu रिपॉजिटरी में उपलब्ध है, इसलिए स्थापना सीधी है। बस अपनी पैकेज सूचियों को अपडेट करें, और इसे इंस्टॉल करें।

sudo apt update
sudo apt install nginx -y 

पैकेज सूचियों को रिफ्रेश करने के बाद, Nginx और इसकी निर्भरताएं स्थापित की जाएंगी।

Nginx कॉन्फ़िगर करें

Nginx के लिए हमारे एप्लिकेशन को प्रॉक्सी को उल्टा करने के लिए, हमें एक कॉन्फ़िगरेशन फ़ाइल बनाने की आवश्यकता होगी। यह कॉन्फ़िगरेशन फ़ाइल हमारे आवेदन के बारे में जानकारी रखेगी, जो Nginx रिवर्स प्रॉक्सी के लिए उपयोग करेगी।

Nginx द्वारा बनाए गए डिफ़ॉल्ट कॉन्फ़िगरेशन को हटा दें, क्योंकि हम इसे बाद में अपने स्थान पर बदल देंगे।

sudo rm /etc/nginx/sites-enabled/default

sites-availableफ़ोल्डर में एक नई फ़ाइल बनाएँ। नामकरण के लिए, हम siteसरलता के लिए, बस चिपक सकते हैं ।

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

फ़ाइल में, निम्न पेस्ट करें, और सहेजें।

server {
    listen 80;
    location / {
          proxy_set_header X-Real-IP 
          $remote_addr;
          proxy_set_header 
          X-Forwarded-For 
          $proxy_add_x_forwarded_for;
          proxy_set_header Host 
          $http_host;
          proxy_set_header 
        X-NginX-Proxy true; proxy_pass 
       http://127.0.0.1:3000/;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade 
     $http_upgrade;
    proxy_set_header Connection 
    "upgrade";
    proxy_redirect off;
    proxy_set_header 
   X-Forwarded-Proto $scheme;
    }
}

इस फाइल में, हम Nginx को पोर्ट पर सुनने के लिए कह रहे हैं 80। हम प्रॉक्सी पैशाच्रर को localhostएड्रेस और पोर्ट पर भी सेट कर रहे हैं 3000, जो कि हमारे हापी एप्लीकेशन की तरह ही पोर्ट है।

अब आप अपने आवेदन निर्देशिका में वापस नेविगेट कर सकते हैं, और साइट शुरू कर सकते हैं। एक बार साइट शुरू हो जाने के बाद, बस नेविगेट करें http://yourdomain.comया http://yourip, और आपको " Hello World" टेक्स्ट दिखाई देगा ।

PM2 स्थापित करें

PM2 को NPM रिपॉजिटरी में पाया जा सकता है, और आप इसे विश्व स्तर पर कहीं से भी एक्सेस करने के लिए स्थापित कर सकते हैं, जैसे।

sudo npm install pm2 -g

-gअंत में ध्वज इंगित करता है कि हम जो हमें हमारे परियोजना निर्देशिका के बाहर इसका इस्तेमाल करने की अनुमति देगा वैश्विक मॉड्यूल फ़ोल्डर, के लिए मॉड्यूल स्थापित करना चाहते हैं। यह हमारी परियोजना के लिए एक सामान्य प्रणाली अनुप्रयोग की तरह व्यवहार करने के लिए उपयोग किया जाता है।

PM2 के साथ हमारे ऐप की शुरुआत

पीएम 2 स्थापित करने के बाद, अपनी परियोजना निर्देशिका पर वापस जाएँ। हमारे आवेदन को शुरू करने का सिंटैक्स अब थोड़ा अलग होगा। इस तरह से हम इसे PM2 के साथ करेंगे।

pm2 start index.js --name site

हम PM2 स्टार्ट फंक्शन का उपयोग करते हैं, जो मूल रूप से नाम के तहत हमारे आवेदन के लिए एक प्रोफाइल बनाता है site। उस कमांड को चलाने के बाद, आपकी वेबसाइट शुरू हो जाएगी, लेकिन आप ध्यान देंगे कि लॉग दिखाई नहीं देंगे। ऐसा इसलिए है क्योंकि हम लॉग को देखने का तरीका अलग है।

pm2 logs site

आप यह भी निर्दिष्ट कर सकते हैं कि लॉग की कितनी लाइनें आप --linesतर्क के साथ देखना चाहते हैं ।

निष्कर्ष

आपने सफलतापूर्वक एक Hapi.js वेब सर्वर स्थापित किया है, इसे Nginx के साथ समीप कर दिया है, और यह सीखा है कि इसे PM2 के साथ बेहतर तरीके से कैसे प्रबंधित किया जाए। इस ज्ञान के साथ, आप इस ट्यूटोरियल पर और विस्तार कर सकते हैं और एक बहुत ही उन्नत Hapi.js एप्लिकेशन बना सकते हैं। हापी की संभावनाओं के बारे में अधिक जानने के लिए, उनके आधिकारिक दस्तावेज देखें । यदि आप PM2 की संभावनाओं के बारे में अधिक जानना चाहते हैं, तो उनके त्वरित प्रारंभ गाइड का संदर्भ लें ।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ