So führen Sie Parse Server unter Ubuntu aus 14.04

Einführung

Parse ist eine Mobile Backend as a Service Plattform, die seit 2013 im Besitz von Facebook ist. Im Januar 2016 gab Parse announce bekannt, dass die gehosteten Dienste im Januar 2017 eingestellt werden.

Parse hat eine Open-Source-Version seines Backends mit dem Namen * Parse Server * veröffentlicht, die für Umgebungen mit Node.js und MongoDB bereitgestellt werden kann.

Dieses Handbuch ergänzt die offizielle Dokumentation mit detaillierten Anweisungen zur Installation von Parse Server auf einem Ubuntu 14.04-System, z. B. einem DigitalOcean Droplet. Es ist in erster Linie als Ausgangspunkt für Parse-Entwickler gedacht, die eine Migration ihrer Anwendungen in Betracht ziehen, und sollte in Verbindung mit dem offiziellen Parse Server Guide gelesen werden.

Voraussetzungen

In diesem Handbuch wird davon ausgegangen, dass Sie über ein sauberes Ubuntu 14.04-System verfügen, das mit einem Nicht-Root-Benutzer mit "+ sudo +" - Berechtigungen für administrative Aufgaben konfiguriert ist. Möglicherweise möchten Sie die Anleitungen in der Reihe New Ubuntu 14.04 Server Checklist lesen.

Zusätzlich benötigt Ihr System eine laufende Instanz von MongoDB. Sie können mit der Installation von MongoDB unter Ubuntu 14.04 beginnen. MongoDB kann auch automatisch auf einem neuen Droplet installiert werden, indem beim Erstellen des Droplets this script zu den Benutzerdaten hinzugefügt wird. Weitere Informationen zu Droplet-Benutzerdaten finden Sie unter https://www.digitalocean.com/community/tutorials/an-einführung-in-droplet-metadaten-dieses Tutorial].

Wenn Ihr System mit einem "+ sudo +" - Benutzer und MongoDB konfiguriert ist, kehren Sie zu diesem Handbuch zurück und fahren Sie fort.

Schritt 1 - Installieren Sie Node.js und die Entwicklungstools

Beginnen Sie, indem Sie den aktuellen Arbeitspfad in das Ausgangsverzeichnis Ihres "+ sudo +" - Benutzers ändern:

cd ~

NodeSource bietet ein Apt-Repository für Debian- und Ubuntu Node.js-Pakete. Wir werden es verwenden, um Node.js zu installieren. NodeSource bietet ein Installationsskript für die neueste stabile Version (v5.5.0 zum Zeitpunkt des Schreibens dieses Dokuments) an. Dieses finden Sie unter installations Instructions. Laden Sie das Skript mit + curl + herunter:

curl -sL https://deb.nodesource.com/ -o nodesource_setup.sh

Sie können den Inhalt dieses Skripts überprüfen, indem Sie es mit + nano + oder einem Texteditor Ihrer Wahl öffnen:

nano ./nodesource_setup.sh

Führen Sie anschließend "+ node_source_setup.sh " aus. Mit der Option " -E " für " sudo +" werden die Umgebungsvariablen des Benutzers beibehalten, damit das Skript auf sie zugreifen kann:

sudo -E bash ./nodesource_setup.sh

Nach Abschluss des Skripts sollten NodeSource-Repositorys auf dem System verfügbar sein. Wir können + apt-get verwenden, um das` + nodejs`-Paket zu installieren. Außerdem installieren wir das "+ build-essential +" - Metapaket, das eine Reihe von Entwicklungstools enthält, die später nützlich sein können, und das Git-Versionskontrollsystem zum Abrufen von Projekten von GitHub:

sudo apt-get install -y nodejs build-essential git

Schritt 2 - Installieren Sie eine Beispiel-Parse-Server-App

Parse Server wurde für die Verwendung in Verbindung mit * Express * entwickelt, einem beliebten Webanwendungsframework für Node.js, mit dem Middleware-Komponenten, die einer definierten API entsprechen, auf einem bestimmten Pfad bereitgestellt werden können. Das Repository parse-server-example enthält eine Beispielimplementierung dieses Musters.

Rufe das Repository mit + git + auf:

git clone https://github.com/ParsePlatform/parse-server-example.git

Geben Sie das soeben geklonte Verzeichnis + parse-server-example + ein:

cd ~/parse-server-example

Verwenden Sie "+ npm ", um Abhängigkeiten, einschließlich " parse-server +", im aktuellen Verzeichnis zu installieren:

npm install

+ npm + holt alle von + parse-server + benötigten Module und speichert sie in + ~ / parse-server-example / node_modules +.

Schritt 3 - Testen Sie die Beispielanwendung

Verwenden Sie "+ npm ", um den Dienst zu starten. Dadurch wird ein Befehl ausgeführt, der in der Eigenschaft " start " von " package.json" definiert ist. In diesem Fall wird "+ node index.js" ausgeführt:

npm start
Output> [email protected] start /home//parse-server-example
> node index.js

DATABASE_URI not specified, falling back to localhost.
parse-server-example running on port 1337.

Sie können die laufende Anwendung jederzeit beenden, indem Sie * Strg-C * drücken.

Die in "+ index.js " definierte Express-App leitet HTTP-Anfragen an das " parse-server " -Modul weiter, das wiederum mit Ihrer MongoDB-Instanz kommuniziert und Funktionen aufruft, die in " ~ / parse-server-example / cloud" definiert sind / main.js + `.

In diesem Fall lautet der Standardwert des Endpunkts für Parse Server-API-Aufrufe:

+ http: /// parse +

In einem anderen Terminal können Sie diesen Endpunkt mit + curl + testen. Stellen Sie sicher, dass Sie zuerst bei Ihrem Server angemeldet sind, da diese Befehle auf "+ localhost +" anstelle einer bestimmten IP-Adresse verweisen.

Erstellen Sie einen Datensatz, indem Sie eine "+ POST" -Anforderung mit einem "+ X-Parse-Application-Id" -Header senden, um die Anwendung zusammen mit einigen als JSON formatierten Daten zu identifizieren:

curl -X POST \
 -H "X-Parse-Application-Id: myAppId" \
 -H "Content-Type: application/json" \
 -d '{"score":1337,"playerName":"Sammy","cheatMode":false}' \
 http://localhost:1337/parse/classes/GameScore
Output{"objectId":"","createdAt":""}

Die von Ihnen gesendeten Daten werden in MongoDB gespeichert und können mit "+ curl " abgerufen werden, um eine " GET +" - Anfrage zu senden:

curl -H "X-Parse-Application-Id: myAppId" http://localhost:1337/parse/classes/GameScore
Output{"results":[{"objectId":"GWuEydYCcd","score":1337,"playerName":"Sammy","cheatMode":false,"updatedAt":"2016-02-02T04:04:29.497Z","createdAt":"2016-02-02T04:04:29.497Z"}]}

Führen Sie eine in + ~ / parse-server-example / cloud / main.js definierte Funktion aus:

curl -X POST \
 -H "X-Parse-Application-Id: myAppId" \
 -H "Content-Type: application/json" \
 -d '{}' \
 http://localhost:1337/parse/functions/hello
Output{"result":"Hi"}

Schritt 4 - Beispielanwendung konfigurieren

Drücken Sie in Ihrem ursprünglichen Terminal * Strg-C *, um die Ausführung der Parse Server-Anwendung zu stoppen.

Wie geschrieben, kann das Beispielskript mithilfe von sechs https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-a- konfiguriert werden. Linux-VPS [Umgebungsvariablen]:

Variable Description

DATABASE_URI

A MongoDB connection URI, like mongodb://localhost:27017/dev

CLOUD_CODE_MAIN

A path to a file containing Parse Cloud Code functions, like cloud/main.js

APP_ID

A string identifier for your app, like myAppId

MASTER_KEY

A secret master key which allows you to bypass all of the app’s security mechanisms

PARSE_MOUNT

The path where the Parse Server API should be served, like /parse

PORT

The port the app should listen on, like 1337

Sie können jeden dieser Werte festlegen, bevor Sie das Skript mit dem Befehl + export + ausführen. Zum Beispiel:

export APP_ID=

Es lohnt sich, den Inhalt von "+ index.js +" durchzulesen. Um jedoch ein klareres Bild von den Vorgängen zu erhalten, können Sie auch eine eigene kürzere Version des Beispiels schreiben. Öffne ein neues Skript in deinem Editor:

nano my_app.js

Fügen Sie Folgendes ein und ändern Sie die hervorgehobenen Werte an den gewünschten Stellen:

~ / parse-server-example / my_app.js

var express = require('express');
var ParseServer = require('parse-server').ParseServer;

// Configure the Parse API
var api = new ParseServer({
 databaseURI: '',
 cloud: __dirname + '',
 appId: '',
 masterKey: ''
});

var app = express();

// Serve the Parse API on the  URL prefix
app.use('', api);

// Listen for connections on port 1337
var port = ;
app.listen(port, function() {
   console.log('parse-server-example running on port ' + port + '.');
});

Beenden und speichern Sie die Datei und führen Sie sie mit Node.js aus:

node my_app.js
Outputparse-server-example running on port 9999.

Sie können auch hier jederzeit * Strg-C * drücken, um + my app.js zu stoppen. Wie oben beschrieben, verhält sich das Beispiel "+ my_app.js " fast identisch mit dem bereitgestellten " index.js ", mit der Ausnahme, dass es den Port 9999 überwacht, wobei Parse Server unter " / myparseapp +" eingebunden ist, sodass der Endpunkt erreicht wird URL sieht so aus:

http: //: 9999 / myparseapp

Und es kann mit + curl + wie folgt getestet werden:

curl -H "X-Parse-Application-Id: " http://localhost://classes/GameScore`

Fazit

Sie sollten nun die Grundlagen zum Ausführen einer Node.js-Anwendung wie Parse Server in einer Ubuntu-Umgebung kennen. Die vollständige Migration einer App von Parse ist wahrscheinlich ein aufwändigeres Unterfangen, das Codeänderungen und eine sorgfältige Planung der Infrastruktur erfordert.

Ausführlichere Informationen zu diesem Vorgang finden Sie in der zweiten Anleitung dieser Reihe unter https://www.digitalocean.com/community/tutorials/how-to-migrate-a-parse-app-to-parse-server-on- Ubuntu-14-04 [So migrieren Sie eine Parse-App auf den Parse-Server unter Ubuntu 14.04]. Sie sollten auch auf das offizielle Parse Server Guide verweisen, insbesondere auf den Abschnitt migrating einer vorhandenen Parse-App .