MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मैं MongoDB का उपयोग करके Heroku पर अपना स्वयं का पार्स सर्वर कैसे होस्ट कर सकता हूं?

Heroku पर पार्स सर्वर की सेल्फ़ होस्टिंग

Heroku, MongoDB, और Parse सेटअप करें

  1. https://signup.heroku.com/ पर जाएं और एक खाते के लिए साइन अप करें
  2. अपना ईमेल सत्यापित करें, और Heroku में लॉग इन करें
  3. हेरोकू में पार्स सर्वर परिनियोजित करने के लिए जाएं
  4. "हेरोकू में परिनियोजित करें" पर क्लिक करें

  1. अपने पार्स सर्वर को एक नाम दें
  2. अभी के लिए ऐप के APP_ID और MASTER_KEY को छोड़ दें, हम इसे बाद के चरण में सेट कर देंगे।
  3. "निःशुल्क परिनियोजित करें" क्लिक करें

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

  1. Heroku आपका ऐप बनाएगी। पृष्ठभूमि में यह आपके लिए एक .git रेपो भी बनाएगा और आधिकारिक पार्स-सर्वर-उदाहरण git रेपो की सामग्री को क्लोन करेगा, एक MongoDB डेटाबेस बनाएगा, और उस DB का उपयोग करने के लिए अपने Heroku ऐप को कॉन्फ़िगर करेगा।
  2. जब ऐप बनाया जाता है, तो आपको इसके हेरोकू डैशबोर्ड पर ले जाया जाएगा या आप लॉग इन करके, "व्यक्तिगत ऐप्स" पर क्लिक करके और फिर अपने पार्स सर्वर के नाम पर क्लिक करके वहां पहुंच सकते हैं
  3. अपने ऐप के डैशबोर्ड पर, "सेटिंग" पर क्लिक करें और फिर "कॉन्फ़िगरेशन संस्करण प्रकट करें" पर क्लिक करें

  1. अपने ऐप का APP_ID और MASTER_KEY भरें। यदि आपके पास अभी Parse.com पर कोई ऐप है, तो आप उसी कुंजी का उपयोग कर सकते हैं जिसका वह उपयोग करता है। आप https://www.parse.com/apps/<APP_NAME>/edit#keys पर जा सकते हैं जहां <APP_NAME> आपके ऐप का नाम है। यदि आप एक नया ऐप बना रहे हैं तो आप यहां यादृच्छिक कुंजी उत्पन्न कर सकते हैं। आप किसी भी एसडीके के लिए नई कुंजी जोड़ सकते हैं जिसका आप उपयोग करने की योजना बना रहे हैं, मैं यहां जावास्क्रिप्ट एसडीके के लिए एक जोड़ रहा हूं।

  1. MONGOLAB_URI के मान पर ध्यान दें, यदि आप अपने मौजूदा पार्स डेटा को अपने नए DB में माइग्रेट करना चाहते हैं तो आपको बाद में इसकी आवश्यकता होगी
  2. नीचे स्क्रॉल करें और अपने ऐप के लिए Git Url और Heroku डोमेन को नोट करें, आपको इनकी बाद में आवश्यकता होगी

  1. Heroku Toolbelt स्थापित करें जो आपके Heroku ऐप्स को प्रबंधित करने के लिए एक कमांड लाइन इंटरफ़ेस टूल है।

  2. एक टर्मिनल प्रॉम्प्ट खोलें और $ heroku login दर्ज करें , अपना हरोकू ईमेल और पासवर्ड दर्ज करें

  3. $ heroku git:clone -a <MY_APP_NAME> . दर्ज करें (जहां <MY_APP_NAME> आपके हरोकू ऐप का नाम है) अपने सर्वर कोड रेपो की स्थानीय प्रतिलिपि बनाने के लिए, आप git url का भी उपयोग कर सकते हैं जैसा हमने पहले देखा था। जब आप रेपो को क्लोन करते हैं तो आपको "चेतावनी:ऐसा प्रतीत होता है कि आपने एक खाली रिपॉजिटरी का क्लोन बना लिया है" संदेश दिखाई देगा। ऐप फ़ोल्डर बनाया जाएगा लेकिन इसमें केवल मानक गिट फाइलें होंगी और कोई पार्स सर्वर नहीं होगा। इसको ठीक करने के लिए। आधिकारिक पार्स-सर्वर-उदाहरण गिट रेपो पर जाएं, ज़िप फ़ाइल डाउनलोड करें रेपो की। फ़ोल्डर निकालें, सभी फ़ाइलों और फ़ोल्डरों को पार्स-सर्वर-उदाहरण-मास्टर फ़ोल्डर से अपने ऐप फ़ोल्डर में खींचें।

  4. टर्मिनल में वापस, $ cd <MY_APP_NAME> enter दर्ज करें रेपो में जाने के लिए

CORS सक्षम करें (ताकि आप अन्य डोमेन से API का उपयोग कर सकें)

  1. अपनी हार्ड ड्राइव पर, हमारे द्वारा अभी बनाए गए रेपो की स्थानीय प्रति ढूंढें और खोलें
  2. फ़ोल्डर में, package.jsonखोलें और "cors": "*" . जोड़ें dependencies . के लिए इस तरह:

  "dependencies": {
    "express": "~4.2.x",
    "kerberos": "~0.0.x",
    "parse": "~1.6.12",
    "parse-server": "~2.0",    // <= don't forget this comma
    "cors": "*"                // add this line
  }

नोट

उपरोक्त टिप्पणियों को अपने वास्तविक कोड से निकालना सुनिश्चित करें क्योंकि यह मान्य JSON नहीं होगा

  1. खोलें index.js और ये बदलाव करें:

var express = require('express');  // find this line in the file
var cors = require('cors') // add this line below it

//....


//var databaseUri = process.env.DATABASE_URI || process.env.MONGOLAB_URI // old name, you may need to change this for new deployments
var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI  // changed to MONGODB_URI in Heroku!

//....

var app = express();  // find this line in the file
app.use(cors()); // add this line below it

//Add declarations for any keys you plan to use as shown below
var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337',
  javascriptKey: process.env.JAVASCRIPT_KEY || '',  //** add this line no need to set values, they will be overwritten by heroku config vars
  restAPIKey: process.env.REST_API_KEY || '', //** add this line
  dotNetKey: process.env.DOT_NET_KEY || '', //** add this line
  clientKey: process.env.CLIENT_KEY || '', //** add this line
});
  1. टर्मिनल विंडो पर वापस जाएं, सुनिश्चित करें कि आप अभी भी रेपो के फ़ोल्डर में हैं जिसे हमने क्लोन किया है और हेरोकू में परिवर्तनों को आगे बढ़ाने के लिए नीचे दर्ज करें:

$ git add .
$ git commit -am "make it better"
$ git push heroku master

अपने नए पार्स सर्वर का परीक्षण करें

  1. इस jsFiddle पेज पर जाएं
  2. बदलें <MY_APP_ID> ,<MY_JS_KEY> ,<MY_HEROKU_APP_NAME> अपने ऐप के लिए उपयुक्त मानों के लिए फिडेल में फिर "रन" पर क्लिक करें

Parse.initialize('<MY_APP_ID>', '<MY_JS_KEY>');
Parse.serverURL = 'https://<MY_HEROKU_APP_NAME>.herokuapp.com/Parse'
  1. आपको नीचे दी गई सूचना मिलनी चाहिए जिससे आपको पता चल सके कि आपका नया पार्स सर्वर ठीक से काम कर रहा है

नोट:

यदि, आप एकाधिक पार्स सर्वर इंस्टेंस के साथ jsfiddle टूल का उपयोग करते हैं, तो आपको "अमान्य सत्र टोकन" त्रुटि मिल सकती है। यदि ऐसा होता है, तो देव कंसोल खोलें, और स्थानीय भंडारण से सभी "पार्स" कुंजियों को हटा दें, उसके बाद, इसे काम करना चाहिए:

पार्स से अपना मौजूदा डेटा माइग्रेट करें

किसी प्रोडक्शन ऐप को माइग्रेट करने से पहले आपको इसे कम से कम एक बार टेस्ट ऐप के साथ करना चाहिए। साथ ही, ऐसा लगता है कि विरासती files आपके पुराने ऐप से अभी तक ट्रांसफर नहीं हो सकता है, यह GitHub समस्या देखें

  1. माइग्रेट करने से पहले , यदि आपके नए MongoDB में डेटा है तो माइग्रेशन विफल हो जाएगा। अगर आपने अभी-अभी सर्वर का परीक्षण किया है और बनाया है और आपत्ति जताई है, तो https://dashboard.heroku.com/apps/<MY_HEROKU_APP_NAME>/resources पर जाएं , इसके आइकन के आगे "MongoLab" पर क्लिक करें, फिर, अगले पृष्ठ पर, "सभी संग्रह हटाएं" पर क्लिक करें
  2. https://dashboard.parse.com/apps/<APP_NAME>/settings/general पर जाएं जहां <APP_NAME> आपके पार्स . का नाम है ऐप
  3. पृष्ठ पर नीचे स्क्रॉल करें और "माइग्रेट करें" क्लिक करें
  4. मोडल में, ग्रे क्षेत्र में (जो इनपुट की तरह नहीं दिखता...) MONGOLAB_URI दर्ज करें जिसे हमने पहले नोट कर लिया था
  5. "माइग्रेशन शुरू करें" पर क्लिक करें

  1. जब माइग्रेशन हो जाए, तो "फाइनलाइज" पर क्लिक करें, फिर पॉपअप में "ओके" पर क्लिक करें जब माइग्रेशन फाइनल हो जाए, आपका सारा डेटा आपके नए MongoDB डेटाबेस में होगा।

  1. अभी के लिए, आपका पार्स डैशबोर्ड आपके डेटा को दिखाना जारी रखेगा जो अब नए डीबी में रहता है। सब कुछ का परीक्षण करने के लिए, परीक्षण jsFiddle पर वापस जाएं जिसका हमने पहले उपयोग किया था और इसे फिर से चलाएं। अब, अपने पार्स डैशबोर्ड पर जाएं और आपको नए जोड़े गए वर्ग और पंक्ति को देखना चाहिए। नोट कि जब मैंने नए पार्स डैशबोर्ड का उपयोग किया, तो मैं पंक्तियों की संख्या देख सकता था लेकिन पंक्ति क्षेत्र बिल्कुल खाली था। मैं पुराने पार्स डैशबोर्ड पर वापस आ गया और सब कुछ ठीक दिखाई दे रहा था।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. अगर मेरे पास एक स्ट्रिंग के रूप में एक मोंगो दस्तावेज़ आईडी है तो मैं इसके लिए _id के रूप में कैसे पूछूं?

  2. Ubuntu 18.04 पर MySQL मास्टर-स्लेव प्रतिकृति को कैसे सेटअप करें

  3. MongoDB:सरणी में न्यूनतम तत्व खोजें और इसे हटा दें

  4. नेवला सेव बनाम इंसर्ट बनाम क्रिएट

  5. नेस्टेड सरणी के अंदर मोंगोडब वेतन वृद्धि मूल्य