前書き

Parseは、2013年以来Facebookが所有しているサービスとしてのモバイルバックエンドプラットフォームです。 2016年1月、Parseは、ホストされているサービスが2017年1月にシャットダウンすることをhttp://blog.parse.com/announcements/moving-on/[announced]で解析します。

ユーザーがサービスから移行するのを支援するために、Parseは、Node.jsおよびMongoDBを実行している環境に展開できる* Parse Server *と呼ばれるバックエンドのオープンソースバージョンをリリースしました。

このガイドは、DigitalOcean DropletなどのUbuntu 14.04システムにParse Serverをインストールするための詳細な手順で公式ドキュメントを補足します。 これは何よりもまず、アプリケーションの移行を検討しているParse開発者の出発点として意図されており、公式のhttps://parse.com/docs/server/guide[Parse Server Guide]と併せて読む必要があります。

前提条件

このガイドでは、管理タスク用の `+ sudo +`権限を持つ非rootユーザーで構成されたクリーンなUbuntu 14.04システムがあることを前提としています。 https://www.digitalocean.com/community/tutorial_series/new-ubuntu-14-04-server-checklist [新しいUbuntu 14.04サーバーチェックリスト]シリーズのガイドを確認することをお勧めします。

さらに、システムにはMongoDBの実行中のインスタンスが必要です。 Ubuntu 14.04にMongoDBをインストールする方法から作業を開始できます。 MongoDBは、作成時にユーザーデータにhttp://do.co/1C60X0a [このスクリプト]を追加することにより、新しいDropletに自動的にインストールすることもできます。 Dropletユーザーデータの詳細については、https://www.digitalocean.com/community/tutorials/an-introduction-to-droplet-metadata [このチュートリアル]をご覧ください。

システムに「+ sudo +」ユーザーとMongoDBを設定したら、このガイドに戻って続行します。

ステップ1-Node.jsと開発ツールをインストールする

現在の作業パスを「+ sudo +」ユーザーのホームディレクトリに変更することから始めます。

cd ~

NodeSourceは、DebianおよびUbuntu Node.jsパッケージ用のAptリポジトリを提供します。 Node.jsのインストールに使用します。 NodeSourceは、最新の安定版リリース(この記事の執筆時点ではv5.5.0)のインストールスクリプトを提供しています。これは、https://github.com/nodesource/distributions#installation-instructions [インストール手順]にあります。 `+ curl +`でスクリプトをダウンロードします:

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

このスクリプトの内容は、 `+ nano +`または選択したテキストエディターで開くことで確認できます。

nano ./nodesource_setup.sh

次に、 `+ nodesource_setup.sh `を実行します。 ` sudo `の ` -E +`オプションは、スクリプトからアクセスできるようにユーザーの環境変数を保持するように指示します。

sudo -E bash ./nodesource_setup.sh

スクリプトが終了すると、NodeSourceリポジトリがシステムで利用可能になります。 + apt-get`を使用して + nodejs`パッケージをインストールできます。 また、後で役立つ可能性のあるさまざまな開発ツールを提供する「+ build-essential +」メタパッケージと、GitHubからプロジェクトを取得するためのGitバージョン管理システムもインストールします。

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

手順2-サンプル解析サーバーアプリのインストール

Parse Serverは、定義済みのAPIに準拠するミドルウェアコンポーネントを特定のパスにマウントできるNode.js用の人気のあるWebアプリケーションフレームワークである* Express *と組み合わせて使用​​するように設計されています。 parse-server-exampleリポジトリには、このパターンの実装例がスタブアウトされています。

`+ git +`でリポジトリを取得します:

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

クローンしたばかりの `+ parse-server-example +`ディレクトリを入力してください:

cd ~/parse-server-example

`+ npm `を使用して、現在のディレクトリに ` parse-server +`を含む依存関係をインストールします。

npm install

`+ npm `は ` parse-server `が必要とするすべてのモジュールを取得し、 `〜/ parse-server-example / node_modules +`に保存します。

手順3-サンプルアプリケーションのテスト

サービスを開始するには、「+ npm 」を使用します。 これにより、 ` package.json`の` + start + `プロパティで定義されたコマンドが実行されます。 この場合、 `+ node index.js`を実行します:

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.
  • Ctrl-C *を押すと、実行中のアプリケーションをいつでも終了できます。

`+ index.js `で定義されたExpressアプリはHTTPリクエストを ` parse-server `モジュールに渡します。このモジュールはMongoDBインスタンスと通信し、 `〜/ parse-server-example / cloudで定義された関数を呼び出します/ main.js + `。

この場合、Parse Server APIコールのエンドポイントはデフォルトで次のようになります。

+ http:/// parse +

別のターミナルでは、 `+ curl `を使用してこのエンドポイントをテストできます。 これらのコマンドは特定のIPアドレスではなく「 localhost +」を参照するため、最初にサーバーにログインしていることを確認してください。

JSONとしてフォーマットされたデータとともに、アプリケーションを識別するための + X-Parse-Application-Id`ヘッダーを持つ + POST`リクエストを送信してレコードを作成します。

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":""}

送信したデータはMongoDBに保存され、 `+ curl `を使用して ` GET +`リクエストを送信することで取得できます。

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"}]}

`+〜/ parse-server-example / cloud / main.js`で定義されている関数を実行します:

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

手順4-サンプルアプリケーションの構成

元の端末で* Ctrl-C *を押して、実行中のバージョンのParse Serverアプリケーションを停止します。

書かれているように、サンプルスクリプトは6つのhttps://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-a-を使用して構成できます。 linux-vps [環境変数]:

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

`+ export +`コマンドでスクリプトを実行する前に、これらの値のいずれかを設定できます。 例えば:

export APP_ID=

`+ index.js +`の内容を一読する価値はありますが、何が起こっているかをより明確に把握するために、サンプルの短いバージョンを作成することもできます。 エディターで新しいスクリプトを開きます。

nano my_app.js

以下を貼り付け、必要に応じて強調表示された値を変更します。

〜/ 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 + '.');
});

ファイルを終了して保存し、Node.jsで実行します。

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

繰り返しますが、いつでも* Ctrl-C *を押して `+ my app.js`を停止できます。 上記のように、サンプルの `+ my_app.js `は、提供された ` index.js `とほぼ同じ動作をしますが、ポート9999でリッスンし、Parse Serverが ` / myparseapp +`にマウントされている点が異なります。 URLは次のようになります。

http://:9999 / myparseapp

そして、次のように `+ curl +`でテストできます。

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

結論

これで、Ubuntu環境でParse ServerのようなNode.jsアプリケーションを実行するための基本を知ることができます。 Parseからアプリを完全に移行することは、より複雑な作業である可能性が高く、コードの変更とインフラストラクチャの慎重な計画が必要です。

このプロセスの詳細については、このシリーズの2番目のガイドhttps://www.digitalocean.com/community/tutorials/how-to-migrate-a-parse-app-to-parse-server-on-をご覧ください。 ubuntu-14-04 [Ubuntu 14.04で解析アプリを解析サーバーに移行する方法]。 また、公式のhttps://parse.com/docs/server/guide[Parse Server Guide]、特にhttps://parse.com/docs/server/guide#migrating [既存のParseアプリの移行]セクションも参照する必要があります。 ]。