Ubuntu 16.04 LTS पर MongoDB और Apache के साथ एक Meteor.js वेब एप्लिकेशन को कैसे सेटअप करें

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

  • Meteor.js एक पूर्ण स्टैक फ्रेमवर्क है। तो इसके साथ, आपको वह सब कुछ मिल सकता है जिसकी आपको कभी आवश्यकता हो सकती है: डेटाबेस, फ्रंट एंड, बैकएंड। उल्का सभी को एक साथ बांधने का एक अद्भुत काम करता है।

  • स्पीड। उल्का का सहज पैकेज सिस्टम आपको कई उपकरण देता है जो आपको अपने आवेदन को सही करने की आवश्यकता हो सकती है।

  • इसे Meteor Developer Group के साथ-साथ इसका इस्तेमाल करने वाले साथी डेवलपर्स का अच्छा समर्थन प्राप्त है। आप आसानी से किसी भी समस्या का पता लगाने में सक्षम हो सकते हैं और उन्हें जल्दी से हल कर सकते हैं।

इस ट्यूटोरियल में, हम Ubuntu 16.04 पर निम्नलिखित लक्ष्यों को पूरा करेंगे:

  • स्थापित करें Node.js, हमारे जावास्क्रिप्ट रनटाइम।

  • स्थापित करें Meteor.js

  • स्थापित करें MongoDB, उल्का की पसंद का डेटाबेस।

  • स्थापित करें Apache, हमारी पसंद का रिवर्स प्रॉक्सी, और यदि लागू हो तो हमारे डोमेन को सेट अप करें।

  • हमारी वेबसाइट का परीक्षण करें।

  • उत्पादन के लिए हमारी वेबसाइट सेटअप करें।

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

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

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

डाउनलोड और स्थापना के पूरा होने तक प्रतीक्षा करें।

MongoDB स्थापित करना

अगला, हम अपने डेटाबेस को स्थापित करेंगे: MongoDB। MongoDB एक स्वतंत्र, ओपन-सोर्स NoSQL डॉक्यूमेंट डेटाबेस और उल्का के डेटाबेस का विकल्प है। यह एक पारंपरिक SQL डेटाबेस में संरचित तालिकाओं के विपरीत, अपने दस्तावेज़ों के लिए JSON जैसा प्रारूप का उपयोग करता है।

APT(उन्नत पैकेजिंग टर्मिनल) द्वारा उपयोग की गई MongoDB सार्वजनिक कुंजी आयात करें । यह APT पैकेज को सत्यापित करने की अनुमति देता है; इस मामले में, MongoDB।

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Ubuntu 16.04 के लिए आवश्यक सूची फ़ाइल बनाएँ।

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

MongoDB की स्थापना शुरू करें, और स्थापना समाप्त होने तक प्रतीक्षा करें।

sudo apt update && sudo apt install mongodb-org -y

संपादन के लिए systemd सेवा खोलें।

sudo nano /etc/systemd/system/mongodb.service

Systemd सेवा को पूरा करने के लिए निम्नलिखित को कॉपी और पेस्ट करें।

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

बाहर निकलने के Control-Oलिए " " का उपयोग करें , और " Control-X"।

sudo systemctl start mongodbअपने टर्मिनल में टाइप करके MongoDB systemd सर्विस चलाएं ।

यह सत्यापित करने के लिए कि यह सफलतापूर्वक शुरू हो गया है, निम्न टाइप करें।

sudo systemctl status mongodb

आप देखेंगे कि सेवा सक्रिय है।

Apache2 को स्थापित करना और स्थापित करना

अगला, हम अपाचे स्थापित करेंगे। अपाचे एक स्वतंत्र और खुला स्रोत वेब सर्वर सॉफ्टवेयर है, जो रिवर्स प्रॉक्सी के रूप में भी कार्य करता है, जिसे हम इस ट्यूटोरियल में उपयोग करेंगे। हमारे Meteor.js एप्लिकेशन को बाइंड करने के लिए रिवर्स प्रॉक्सी की आवश्यकता होती है port 80। Node.js बिना रूट एक्सेस के उस पोर्ट पर चल रहे एप्लिकेशन को ब्लॉक करता है। अपाचे rootस्वचालित रूप से और साथ ही साथ चलता है port 80, इसलिए जब हमारी वेबसाइट चलाने का समय आएगा तो हमें इसके बारे में चिंता करने की ज़रूरत नहीं है।

अपाचे स्थापित करें।

sudo apt update && sudo apt install apache2

इस तरह के रूप में बाहरी वेब बंदरगाहों तक पहुँच की अनुमति देने के लिए port 80, हमें अपाचे के लिए अपने फ़ायरवॉल को कॉन्फ़िगर करने की आवश्यकता है। हम इसे UFW(अनकम्प्लिटेड फ़ायरवॉल) के माध्यम से करते हैं ।

sudo ufw allow 'Apache Full'

यह " Apache Full" प्रोफाइल तक पहुँचने की अनुमति देगा । यह हमें आने वाले ट्रैफ़िक को देता है port 80, जो कि हमारे आवेदन पर चल रहा है।

Meteor.js स्थापित करना और हमारा आधार एप्लिकेशन बनाना

अब, हम अपने वेब ढांचे को स्थापित करेंगे: Meteor.js। हम इसे स्थापित करने के लिए उल्का टीम द्वारा प्रदान की गई एक सरल बैश स्क्रिप्ट का उपयोग करेंगे।

curl https://install.meteor.com/ | sh

स्थापना समाप्त होने तक प्रतीक्षा करें। मूल रूप से स्क्रिप्ट क्या करता है, यह आधिकारिक वेबसाइट से उल्का डाउनलोड करता है, और इसे विश्व स्तर पर स्थापित करता है, इसलिए हम इसे कहीं से भी उपयोग कर सकते हैं। एक बार जब यह समाप्त हो जाता है, तो हम अपनी आवेदन निर्देशिका बना सकते हैं। उल्का हमारे पास काम करने के लिए एक छोटा सा उपकरण है जिसे हम कहते हैं meteor create। अपनी एप्लिकेशन डायरेक्टरी बनाने के लिए, निम्न टाइप करें।

meteor create <projectname>

निर्दिष्ट नाम ( <projectname>) के साथ फ़ोल्डर बनाया जाएगा ।

हमारे अपाचे रिवर्स प्रॉक्सी को सेट करना

अब जब हमारे पास हमारी एप्लिकेशन डायरेक्टरी सेट अप हो गई है, तो हम अपने रिवर्स प्रॉक्सी को सेट करके आगे बढ़ सकते हैं। Apache नामक एक मॉड्यूल का उपयोग करता है mod_proxy, जो Apache के लिए एक प्रॉक्सी लागू करता है।

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

यह मॉड्यूल को स्थापित करेगा और इसे अपाचे के उपयोग के लिए उपलब्ध कराएगा।

इसके बाद, हमें अपाचे को चलाने के लिए आवश्यक सभी मॉड्यूल सक्षम करने की आवश्यकता होगी। हम ऐसा करेंगे a2enmod, एक उपकरण जो अपाचे के लिए मॉड्यूल को सक्षम करता है। ये मॉड्यूल हमें रिवर्स प्रॉक्सी का लाभ उठाने की अनुमति देंगे। बस इन कमांड को अपने टर्मिनल में टाइप करें।

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html

उसके बाद, हमें शुरू से ही डिफ़ॉल्ट अपाचे साइट को निष्क्रिय करना होगा, इसलिए हम अपना खुद का स्टार्ट अप कर सकते हैं। अन्यथा, डिफ़ॉल्ट Apache एप्लिकेशन हमारा ओवरराइड कर देगा। डिफ़ॉल्ट साइट को अक्षम करने के लिए, बस निम्नलिखित चलाएँ।

sudo a2dissite 000-default

अब हम अपनी वर्चुअल होस्ट फ़ाइल बनाएंगे। ऐसा करने के लिए, बस एक पाठ संपादक खोलें।

sudo nano /etc/apache2/sites-available/<projectname>

निम्नलिखित को कॉपी और पेस्ट करें।

<VirtualHost *:80>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80: अपाचे को पोर्ट 80 में संलग्न करने के लिए कहता है, जो कि हम अपने वेब एप्लिकेशन के लिए चाहते हैं।

  • ProxyPass: उस साइट का आईपी पता जिसे आप रिवर्स प्रॉक्सी को फॉरवर्ड करना चाहते हैं। यह संभवतः आपके VPS का IP होगा

  • ServerName: आपके सर्वर का नाम (डिफ़ॉल्ट नाम आमतौर पर है localhost)।

एक बार जब आप सभी आवश्यक सेटिंग्स को कॉन्फ़िगर कर लेते हैं, तो " Control-O" बचाने के लिए और Control-Xबाहर निकलने के लिए " " का उपयोग करें।

पहली बार साइट चलाना

परीक्षण करने और यह सुनिश्चित करने के लिए कि वेबसाइट चल रही है, प्रोजेक्ट डायरेक्टरी में निम्नलिखित टाइप करें।

meteor

आपको निम्न आउटपुट दिखाई देंगे जो आपकी साइट को सफलतापूर्वक शुरू कर चुके हैं।

=> App running at: http://localhost:3000/

ध्यान रखें कि उल्का, डिफ़ॉल्ट रूप से सुनता है port 3000

उत्पादन के लिए हमारी वेबसाइट की स्थापना

यह सुनिश्चित करने के लिए कि हमारा ऐप चल रहा है, हम एक systemd सेवा का उपयोग करेंगे। हमने MongoDB के साथ जो कुछ भी ऊपर किया था, उसके समान, यह सिस्टम सेवा यह सुनिश्चित करेगी कि हमारी वेबसाइट जब भी शुरू होगी, और चलती रहेगी। यह हमारे आवेदन को भी पुनः आरंभ करेगा, इस घटना में कि यह किसी भी कारण से दुर्घटनाग्रस्त हो जाए। हमारी systemd सेवा को सेटअप करने के लिए, अपने टर्मिनल में निम्नलिखित टाइप करें।

sudo nano /etc/systemd/system/<projectname>.service

यहाँ आप अपनी फ़ाइल को कैसा दिखना चाहते हैं।

[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1

नोट : परियोजना के नाम के साथ और VPS के उपयोगकर्ता नाम के साथ प्रतिस्थापित करना न भूलें ।projectnameyourusername

यहां आपको ध्यान रखने के लिए कुछ मुख्य लाइनें दी गई हैं।

  • WorkingDirectory: आपके आवेदन की निर्देशिका।

  • Restart: चाहे इसके आवेदन को फिर से शुरू करना हो या न करना हो, जो भी कारण हो।

  • User: तुम्हारा प्रयोगकर्ती नाम।

  • Environment=PWD: करने के लिए समान WorkingDirectory

  • Environment=PORT: जिस पोर्ट पर आपका एप्लिकेशन चल रहा है। डिफ़ॉल्ट है 3000

फ़ाइल को सहेजें और बंद करें।

अब, हम सेवा को सक्षम और शुरू करेंगे।

sudo systemctl enable <projectname>.service

<projectname>हमारे द्वारा बनाई गई सेवा फ़ाइल का नाम कहां है।

फिर, हम सेवा शुरू करेंगे।

sudo systemctl start <projectname>.service

आपका आवेदन शुरू हो जाएगा। यह सत्यापित करने के लिए कि यह लॉन्च किया गया है, बस निम्नलिखित चलाएं।

sudo systemctl status <projectname>

आप देखेंगे कि यह सक्रिय है, यह सत्यापित करते हुए कि सेवा सफलतापूर्वक शुरू हो गई है।

इसके बाद, हम अपनी वेबसाइट की जाँच करेंगे। अपनी पसंद के वेब ब्राउज़र में, अपने IP पते पर नेविगेट करें।

http://your-server-ip/

आप उल्का नमूना स्क्रीन देखेंगे, यह सत्यापित करते हुए कि आपने सब कुछ सही ढंग से किया है।

हमारे आवेदन का प्रबंधन

अब जब हमने अपना आवेदन शुरू कर दिया है, तो हमें इसे प्रबंधित करने की आवश्यकता होगी।

आपके एप्लिकेशन को पुनरारंभ करना

sudo systemctl restart <projectname>

आवेदन को रोकना

sudo systemctl stop <projectname>

आवेदन की स्थिति देखना

sudo systemctl status <projectname>

लॉग देखना

journalctl -u <projectname>

आपने अब MongoDB, Apache और Meteor को सफलतापूर्वक कॉन्फ़िगर किया है, और उत्पादन के लिए Meteor.js वेब सर्वर बनाया है। अब बाकी आप पर निर्भर है, अपनी वेबसाइट को फ्रंट एंड और बैक एंड पर डिजाइन करने के लिए। आपकी जरूरत के किसी भी डेटा को संग्रहीत करने के लिए आपके पास MongoDB तक पहुंच है, और Node.js, जो NPMआपके बैकएंड को और मजबूत करने के लिए नोड पैकेज मैनेजर ( ) के माध्यम से उपलब्ध विभिन्न प्रकार के मॉड्यूल प्रदान करता है । अधिक दस्तावेज़ीकरण के लिए, उल्का साइट पर जाने के लिए स्वतंत्र महसूस करें , जहाँ आप अपनी वेबसाइट को अपनी पसंद के अनुसार अनुकूलित करना सीख सकते हैं। इसके अलावा, आप MongoDB प्रलेखन का उल्लेख कर सकते हैं , जब आप डेटाबेस संचालन के साथ काम कर रहे हैं।



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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ