Ubuntu14.04で解析サーバーを実行する方法

前書き

Parseは、サービスプラットフォームとしてのモバイルバックエンドであり、2013年からFacebookが所有しています。 2016年1月、Parse [発表](http://blog.parse.com/announcements/moving-on/)のホスティングサービスは2017年1月に終了します。

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

このガイドは、Tencent Cloud [CVM](https://cloud.tencent.com/product/cvm?from=10680)などのUbuntu14.04にParseServerをインストールするための詳細な手順を含む公式ドキュメントを補足します。これは、最初に、アプリケーションの移行を検討しているParse開発者の出発点として機能し、公式の[Parse Server Guide](https://parse.com/docs/server/guide)と一緒に読む必要があります。

準備 ##

sudoコマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない学生は、[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には、無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs/series/10003?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。

さらに、システムには実行中のMongoDBインスタンスが必要です。ドロップレットの作成時に[このスクリプト](http://do.co/1C60X0a)をユーザーデータに追加することで、MongoDBを新しいCVMに自動的にインストールすることもできます。

sudoユーザーとMongoDBを使用してシステムを構成した後、このガイドに戻って続行してください。

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

まず、現在の作業パスを sudoユーザーのホームディレクトリに変更します。

cd ~

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

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

スクリプトの内容は、 nanoまたは任意のテキストエディタを使用して開くことができます。

nano ./nodesource_setup.sh

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

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は、Node.jsの一般的なWebアプリケーションフレームワークである** Express **と組み合わせて使用するように設計されています。これにより、定義されたAPIに準拠するミドルウェアコンポーネントを特定のパスにインストールできます。 [Analysis Serverなど](https://github.com/ParsePlatform/parse-server-example.git)リポジトリには、このパターンの廃止の実装例が含まれています。

次の 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プロパティで定義されたコマンドが実行されます。この場合、 nodeindex.jsを実行します。

npm start
> [email protected] start /home/sammy/parse-server-example
> node index.js
​
DATABASE_URI not specified, falling back to localhost.
parse-server-example running on port 1337.

** Ctrl-C **を押すと、実行中のアプリケーションをいつでも終了できます。

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

この場合、Parse ServerAPIによって呼び出されるエンドポイントのデフォルトは次のとおりです。

http://your_server_IP/parse

別の端末では、 curlを使用してこのエンドポイントをテストできます。これらのコマンドは特定のIPアドレスではなく localhostを参照するため、必ず最初にサーバーにログインしてください。

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

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
{" objectId":"fu7t4oWLuW","createdAt":"2016-02-02T18:43:00.659Z"}

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

curl -H "X-Parse-Application-Id: myAppId" http://localhost:1337/parse/classes/GameScore
{" 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
{" result":"Hi"}

ステップ4-サンプルアプリケーションを構成する

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

上記のように、6つの環境変数を使用してサンプルスクリプトを構成できます。

変数 説明
DATABASE_URI mongodb:// localhost:27017 / devなどのMongoDB接続URI
CLOUD_CODE_MAIN cloud / main.jsなどのParseCloudCode関数を含むファイルのパス
APP_ID アプリケーションの文字列識別子(例:myAppId
MASTER_KEY すべてのアプリケーションのセキュリティメカニズムをバイパスできるようにする秘密のマスターキー
PARSE_MOUNT Parse Server APIのパスを提供する必要があります(例:/ parse
PORT アプリケーションがリッスンする必要のあるポート(例:1337

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

export APP_ID=fooApp

index.jsを読む価値はありますが、何が起こっているのかをより明確に理解するために、独自の短いバージョンの例を作成することもできます。エディタで新しいスクリプトを開きます。

nano my_app.js

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

var express =require('express');var ParseServer =require('parse-server').ParseServer;
​
// Configure the Parse APIvar api =newParseServer({
 databaseURI:'mongodb://localhost:27017/dev',
 cloud: __dirname +'/cloud/main.js',
 appId:'myOtherAppId',
 masterKey:'myMasterKey'});
​
var app =express();
​
// Serve the Parse API on the /parse URL prefix
app.use('/myparseapp', api);
​
// Listen for connections on port 1337var port =9999;
app.listen(port,function(){
 console.log('parse-server-example running on port '+ port +'.');});

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

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

同様に、** Ctrl-C **を押すと、いつでも my_app.jsを停止できます。上記のように、この例での my_app.jsの動作は、ポート9999でリッスンし、Parse Server / myparseappがインストールされていることを除いて、提供されている index.jsとほぼ同じです。したがって、エンドポイントURLは次のようになります。

http://あなたのサーバー IP:9999 / myparseapp

次のように curlでテストできます。

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

結論として ##

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

その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。


参照:「Ubuntu14.04でParseServerを実行する方法」

Recommended Posts

Ubuntu14.04で解析サーバーを実行する方法
Ubuntu14.04にBaculaServerをインストールする方法
Ubuntu16.04でSambaサーバーを使用する方法
Ubuntu20.04でホスト名を変更する方法
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu18.04サーバーで静的IPを設定する方法
Ubuntu18.04サーバーで静的IPを設定する方法
ドッカーをubuntuサーバーにすばやくデプロイする方法
UbuntuにインストールされているJDKを確認する方法
Ubuntu18.04に最新のMySQLをインストールする方法
Ubuntu18.04でDNSサーバーを設定する方法
Ubuntu14.04のNginxにgzipモジュールを追加する方法
Ubuntuのnginxサーバーでhttpsを開く方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu14.04でPHP7にアップグレードする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu14.04にDjangoをデプロイする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntuでソフトウェアをアンインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にOpenCVをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu16.04にGo1.6をインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法