Ubuntu14.04にBaasBoxをインストールして使用する方法

前書き ##

BaasBoxは、データベースサーバーおよびアプリケーションサーバーとして機能するアプリケーションです。 BaasBoxは、すぐに使用できるように、バックアップを通じてユーザー登録、ユーザー管理、役割管理、コンテンツ管理、ファイル管理、およびデータベース管理機能を提供します。これらの機能はすべて標準のHTTPREST APIを介して公開されるため、Webおよびモバイルアプリケーションの開発者は、BaasBoxをバックエンドとして使用してデータを保存できます。開発者は、アプリケーションの他の部分で使用されるBaasBoxベースのマイクロサービスを作成することもできます。

この記事では、単純なアプリケーションバックエンドを作成するときにBaasBoxをインストールし、ユーザーを作成し、管理コンソールを使用して、RESTAPIを調べる方法について説明します。

準備 ##

ステップ1-BaasBoxをインストールして実行する

BaasBoxをインストールするには、公式WebサイトからBaasBoxの最新の安定バージョンをダウンロードします。これを行うには、 wgetコマンドを使用できます。

wget http://www.baasbox.com/download/baasbox-stable.zip

unzipコマンドを使用して、ダウンロードしたzipファイルからBaasBoxを抽出します。 unzipがない場合は、次のコマンドを使用してインストールします。

sudo apt-get install unzip

次に、zipファイルの内容を抽出します。

unzip baasbox-stable.zip

たとえば、このコマンドはzipファイルの内容を baasbox-XYZという名前のディレクトリに抽出します。XYZディレクトリは、 0.9.5などの最新バージョンになります。新しく作成したディレクトリを入力します。

cd baasbox-X.Y.Z

このディレクトリには、BaasBoxを起動するために実行する必要がある startという名前のファイルが含まれています。これを行うには、最初に次のコマンドを使用して実行可能にする必要があります。

chmod +x ./start

次に、BaasBoxを起動し、次のコマンドを実行します。

. /start

次のような出力が表示されます。

2016- 06- 2814:32:14,554- [ info]- BaasBox is Ready.2016-06-2814:32:14,558-[info]- Application started(Prod)2016-06-2814:32:14,733-[info]- Listening for HTTP on /0:0:0:0:0:0:0:0:90002016-06-2814:32:15,261-[info]- Session Cleaner: started
2016- 06- 2814:32:15,263- [ info]- Session cleaner: tokens:0- removed:02016-06-2814:32:15,263-[info]- Session cleaner: finished

上記の出力の3行目は、BaasBoxが実行中であり、マシンの「9000」ポートからアクセスできることを示しています。デフォルトのBaasBox構成は、すべてのネットワークインターフェイスでこのポートをリッスンします。 BaasBoxには、次の方法でアクセスできるようになりました。

必要に応じて、BaasBoxに特定のネットワークインターフェイスとさまざまなポートをリッスンさせることができます。これを行うには、次のコマンドを使用します。

. /start -Dhttp.port=target_port -Dhttp.address=target_interface

ブラウザで http:// your_ip_address:9000 / consoleにアクセスして、BaasBox管理コンソールにアクセスすると、次のようなインターフェイスが表示されます。

BaasBoxを実行した後、アプリケーションと一部のユーザーを設定しましょう。

**ステップ2-BaasBox ** ##を使用してアプリケーションを作成します

この記事では、簡単なTodoリストマネージャーを作成します。

引き続き次の点に注意してください。

Rest APIを使用してBaasBoxを管理できますが、管理コンソールを使用する方が便利な場合もあります。2番目の手順でわかるように、管理コンソールはこの状態です。ブラウザの「http:// your_ip_address:9000 / console」リンクにアクセスします。初めて使用するため、デフォルトの資格情報でログインしてください。

ログインすると、BaasBoxダッシュボードが表示されます。

管理コンソールを使用して、アプリケーションのユーザーを作成しましょう。

ステップ3-ユーザーの作成

ユーザー管理は、BaasBoxの最も便利な機能の1つです。 BaasBoxには、編集できないプライベートビルトインユーザーがいます。これには、管理コンソールへのログインに使用したユーザーの「admin」が含まれます。

BaasBoxでは、ロールを定義してユーザーに割り当て、きめ細かいアクセス制御を行うこともできます。デフォルトでは、BaasBoxには次の3つの役割があります。

これらの事前構成された役割に加えて、独自の役割を追加することもできます。新しいロールが作成されると、前述の「登録済み」ロールと同じ権限が付与されます。

管理コンソールまたはRESTAPIを使用して、BaasBoxでユーザーを作成できます。通常、REST APIを使用して、たとえばアプリケーションのユーザー登録プロセスを通じて、プログラムでユーザーを作成します。

管理コンソールからユーザーを追加するときに、ユーザーのカスタムロールを設定できます。ただし、組み込みのREST APIを使用して登録する場合、新しく作成されたユーザーには「登録済み」の役割が割り当てられます。

BaasBoxの管理コンソールから新しいユーザーを作成するには、管理コンソールで[ユーザー>ユーザー]メニューを開き、[新しいユーザー]ボタンをクリックしてください。

これにより、作成しているユーザーの詳細を入力できるフォームが開きます。

ユーザー名パスワードパスワードの再入力役割ですが、他のすべてのフィールドはオプションのフィールドである必要があります。必要に応じて、このフォームを下にスクロールして他の詳細を入力できることに注意してください。

このユーザーのユーザー名を user1に設定します。任意の役割を選択できますが、最も一般的に使用される役割は「登録済み」です。すべての詳細を入力したら、[**変更を保存] **ボタンをクリックして、ユーザー作成プロセスを完了します。

以降のセクションでは、RESTAPIを使用してユーザーを作成します。次に、アプリケーションのコンテンツの場所を構成しましょう。

ステップ4-コレクションを作成する

BaasBoxは、[MongoDB](https://cloud.tencent.com/product/mongodb?from=10680)などのNoSQLデータベースによって提供されるコレクションと同様に、コンテンツをコレクションに編成します。コレクションは documentsと同じタイプです。 SQLデータベースに精通しているユーザーは、「コレクション」と「テーブル」をほぼ同じように考えることができます。同様に、 document recordに少し似ています。

コレクションは管理者のみが作成できます。コレクションを作成する最も一般的な方法は管理コンソールからですが、RESTAPIを使用してこれを行うこともできます。このセクションでは、管理コンソールからコレクションを作成する方法について説明します。

すべてのコンテンツ管理機能は、管理コンソール「DATA」の「コレクション」メニューと「ドキュメント」メニューにあります。

データ>コレクションメニューを開きます。アプリケーション内の現在のすべてのコレクションを一覧表示するページが表示されます。

新しいコレクションを作成するには、[**新しいコレクション] **ボタンをクリックします。これにより、コレクション名の入力を求めるフォームが表示されます。

todosコレクションの名前を入力し、[**変更を保存] **をクリックしてコレクションの作成プロセスを完了します。これで、アプリケーションのユーザーは、REST APIを使用して、このコレクションとこのコレクション内のドキュメントにアクセスできます。それがどのように機能するか見てみましょう。

ステップ5-RESTAPIを使用する

管理コンソールを使用してさまざまなタスクを実行する方法がわかったので、BaasBoxのRESTAPIを使用して同じタスクを実行する方法を見てみましょう。

REST APIは、Webアプリケーションやモバイルアプリケーションからコンソールアプリケーションまで、さまざまなタイプのアプリケーションで使用できます。次の例では、 curlを使用してリクエストをシミュレートします。フロントエンドプラットフォームに応じて、必要に応じてこれらの例を調整できます。

RESTAPIを使用してユーザーを作成

ユーザーコマンドの作成に使用されるcurlの一般的な形式は次のとおりです。

curl http://your_ip_address:9000/user \
 - d '{"username" : "username", "password" : "password"}' \
 - H Content-type:application/json \
 - H X-BAASBOX-APPCODE:baasbox_appcode

この例では、ユーザー名を使用してユーザー user2を作成します。好きなパスワードを選択してください。 X-BAASBOX-APPCODEヘッダーのデフォルト値 1234567890を使用します。これらの値を使用すると、コマンドは次のようになります。

curl http://your_ip_address:9000/user \
 - d '{"username" : "user2", "password" : "user2_password"}' \
 - H Content-type:application/json \
 - H X-BAASBOX-APPCODE:1234567890

このコマンドを実行した場合の出力は、次のようになります。

{" result":"ok","data":{"user":{"name":"user2","status":"ACTIVE","roles":[{"name":"registered","isrole":true}]},"id":"a4353548-501a-4c55-8acd-989590b2393c","visibleByAnonymousUsers":{},"visibleByTheUser":{},"visibleByFriends":{},"visibleByRegisteredUsers":{"_social":{}},"signUpDate":"2016-04-05T13:12:17.452-0400","generated_username":false,"X-BB-SESSION":"992330a3-4e2c-450c-8d83-8eaf2903188b"},"http_code":201}

これは、上記の出力のフォーマットされたバージョンです。

{" result":"ok","data":{"user":{"name":"user2","status":"ACTIVE","roles":[{"name":"registered","isrole":true}]},"id":"a4353548-501a-4c55-8acd-989590b2393c","visibleByAnonymousUsers":{},"visibleByTheUser":{},"visibleByFriends":{},"visibleByRegisteredUsers":{"_social":{}},"signUpDate":"2016-04-05T13:12:17.452-0400","generated_username":false,"X-BB-SESSION":"992330a3-4e2c-450c-8d83-8eaf2903188b"},"http_code":201}

上記の出力の idに注意してください。 BaasBox idは、ユーザーごとに一意のIDを生成します。このIDは、REST APIを介してこの特定のユーザーのドキュメントを取得、変更、または削除する場合に使用します。

注意すべき2番目の値は X-BB-SESSIONです。これには、セッションIDuser2が今後のすべてのクエリに表示される必要があります。この user2_session_id値については、以降の章で参照します。

RESTAPIを使用してユーザーを記録します

セッションIDuser2ができたので、前に管理コンソールで作成したユーザーの user1を取得しましょう。これを行うには、 user1を介してRESTAPIを使用してログインします。 curlがログインに使用するコマンドの一般的な形式は次のとおりです。

curl http://your_ip_address:9000/login \
 - d "username=username" \
 - d "password=password" \
 - d "appcode=baasbox_appcode"

この例では、ユーザー名は「user1」、パスワードは作成時に使用したパスワード「user1」、BaasBoxアプリケーションコードは「1234567890」です。これらの値を使用すると、コマンドは次のようになります。

curl http://your_ip_address:9000/login \
 - d "username=user1" \
 - d "password=user1_password" \
 - d "appcode=1234567890"

このコマンドを実行した場合の出力は、次のようになります。

{" result":"ok","data":{"user":{"name":"user1","status":"ACTIVE","roles":[{"name":"registered","isrole":true}]},"id":"84191e4c-2471-48a7-98bb-ecdaf118285c","visibleByAnonymousUsers":{},"visibleByTheUser":{},"visibleByFriends":{},"visibleByRegisteredUsers":{"_social":{}},"signUpDate":"2016-04-05T13:06:35.750-0400","generated_username":false,"X-BB-SESSION":"74400b4b-d16c-45a2-ada3-1cd51cc202bb"},"http_code":200}

これは、上記の出力のフォーマットされたバージョンです。

{" result":"ok","data":{"user":{"name":"user1","status":"ACTIVE","roles":[{"name":"registered","isrole":true}]},"id":"84191e4c-2471-48a7-98bb-ecdaf118285c","visibleByAnonymousUsers":{},"visibleByTheUser":{},"visibleByFriends":{},"visibleByRegisteredUsers":{}},"signUpDate":"2016-04-05T13:06:35.750-0400","generated_username":false,"X-BB-SESSION":"74400b4b-d16c-45a2-ada3-1cd51cc202bb"},"http_code":200}

上記の応答は、 user1 X-BB-SESSIONを示しており、今後のすべてのクエリでセッションIDuser1を使用します。これから、この user1_session_id値を参照します。

RESTAPIを使用してドキュメントを作成します

アプリケーションで2つのドキュメントを作成しましょう。管理コンソールを使用して作成したユーザー user1にドキュメントを割り当ててから、RESTAPIを使用して作成したユーザー user2に別のドキュメントを割り当てます。作成するドキュメントの構造は次のとおりです。

Sample Document Contents{"list_name":"Task List Name","tasks":[{"task":"Task Details","done":false},{"task":"Task Details","done":false}]}

構造を見ると、ドキュメントには2つの属性があることがわかります。 1つはタスクリストの名前で、もう1つはリスト内のタスクリストです。

新しいドキュメントを作成するためのcurlコマンドの一般的な形式は次のとおりです。

curl -X POST http://your_ip_address:9000/document/collection_name \
  - d 'json_formatted_document' \
  - H Content-type:application/json \
  - H X-BB-SESSION:session_id

user1でドキュメントを作成することから始めましょう。この例では、コレクションの名前は todosであり、挿入するドキュメントは次のとおりです。

Document Contents{"list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}]}

ドキュメントが user1に関連付けられていることを確認するために、ユーザーがシステムにログインしたときに user1によって取得されたセッションIDを使用します。

次のコマンドを入力して、 user1のドキュメントコンテンツを作成します。

curl -X POST http://your_ip_address:9000/document/todos \
  - d '{"list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}]}' \
  - H Content-type:application/json \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次のような出力が生成されます。

{" result":"ok","data":{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

これは、上記の出力のフォーマットされたバージョンです。

{" result":"ok","data":{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

新規ユーザーの場合と同様に、BaasBoxはすべての新しいドキュメントのIDを作成します。この idをメモしておきます。後で user2がこのリストにアクセスするときに使用します。以下のセクションでは、このドキュメントのIDを「user1_list1_id」と呼びます。

これで、同じ方法を使用して次のことを実行できます。

これらの手順を完了すると、 todosコレクションに合計4つのドキュメントが作成されます。以降の章では、これらのドキュメントのIDを次のように参照します。

これで、REST APIを使用してデータをクエリする方法を学習できるように、いくつかのデータを使用できます。

RESTAPIを使用して単一のドキュメントを取得します

idを持つドキュメントを取得するためのcurlの一般的な形式は次のとおりです。

curl http://your_ip_address:9000/document/collection_name/document_id \
  - H X-BB-SESSION:session_id

user1 user1資格情報)によって作成された最初のドキュメントを取得する場合、コマンドは次のようになります。

curl http://your_ip_address:9000/document/todos/user1_list1_id \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次のような出力が得られます。

{" result":"ok","data":{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

これは、応答のフォーマットされたバージョンです。

{" result":"ok","data":{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

単一のドキュメントを取得する方法がわかったので、今回は user2セッションIDを使用してドキュメントを取得しない限り、同じ操作を再試行してください。

curl -X POST http://your_ip_address:9000/document/todos/user1_list1_id \
  - H X-BB-SESSION:user2_session_id

このコマンドを実行すると、次のような出力が表示されます。

{" result":"error","message":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f not found","resource":"/document/todos/c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","method":"GET","request_header":{"Accept":["*/*"],"Host":["localhost:9000"],"User-Agent":["curl/7.35.0"],"X-BB-SESSION":["8f5a2e48-0f42-4478-bd1b-d28699158c4b"]},"API_version":"0.9.5","http_code":404}

これは同じ出力で、読みやすくするためにフォーマットされています。

{" result":"error","message":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f not found","resource":"\/document\/todos\/c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","method":"GET","request_header":{"Accept":["*\/*"],"Host":["localhost:9000"],"User-Agent":["curl\/7.35.0"],"X-BB-SESSION":["8f5a2e48-0f42-4478-bd1b-d28699158c4b"]},"API_version":"0.9.5","http_code":404}

ご覧のとおり、 user2はこのドキュメントを作成しておらず、アクセスできないため、get操作が失敗しました。 user2コマンドを実行しようとして、それが user2``idで作成されたドキュメントである場合、そのドキュメントを取得できます。

RESTAPIを使用してすべてのドキュメントを取得します

コレクションからアクセス可能なすべてのドキュメントを取得するために使用されるコマンドcurlの一般的な形式は次のとおりです。

curl http://your_ip_address:9000/document/collection_name \
  - H X-BB-SESSION:session_id

このコマンドは、ユーザーがアクセスできるドキュメントのみを返すことに注意してください。たとえば、 user1を使用して次のコマンドを実行してみましょう。

curl http://your_ip_address:9000/document/todos \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次のような出力が得られます。

{" result":"ok","data":[{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},{"@rid":"#24:2","@version":1,"@class":"todos","list_name":"User 1 - List 2","tasks":[{"task":"User1 List2 task 1","done":false},{"task":"User1 List2 task 2","done":false}],"id":"7c99c877-d269-4281-8a22-ef72175085f4","_creation_date":"2016-04-05T20:46:14.338-0400","_author":"user1"}],"http_code":200}

これは、この出力のフォーマットされたバージョンです。

{" result":"ok","data":[{"@rid":"#24:1","@version":2,"@class":"todos","list_name":"User 1 - List 1","tasks":[{"task":"User1 List1 task 1","done":false},{"task":"User1 List1 task 2","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},{"@rid":"#24:2","@version":1,"@class":"todos","list_name":"User 1 - List 2","tasks":[{"task":"User1 List2 task 1","done":false},{"task":"User1 List2 task 2","done":false}],"id":"7c99c877-d269-4281-8a22-ef72175085f4","_creation_date":"2016-04-05T20:46:14.338-0400","_author":"user1"}],"http_code":200}

出力からわかるように、 user1だけがアクセスできるドキュメントを返しました。 user2に属するセッションIDで同じクエリを実行すると、異なるドキュメントのセットが表示されます。

RESTAPIを使用してドキュメントを更新する

ドキュメントを更新するためのcurlコマンドの一般的な形式は次のとおりです。

curl -X PUT http://your_ip_address:9000/document/collection_name/document_id \
  - d 'new_json_formatted_document' \
  - H Content-type:application/json \
  - H X-BB-SESSION:session_id

ドキュメントを更新する際に留意すべき点が2つあります。

この user1_list1_idコマンドを使用して、idドキュメントを次の内容で更新してみましょう。

{" list_name":"User 1 - List 1 Updated","tasks":[{"task":"New User1 List1 task 1","done":false}]}

この更新を行うためのコマンドは次のとおりです。

curl -X PUT http://your_ip_address:9000/document/todos/user1_list1_id \
  - d '{"list_name":"User 1 - List 1 Updated","tasks":[{"task":"New User1 List1 task 1","done":false}]}' \
  - H Content-type:application/json \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次のような出力が得られます。

{" result":"ok","data":{"@rid":"#24:1","@version":4,"@class":"todos","list_name":"User 1 - List 1 Updated","tasks":[{"task":"New User1 List1 task 1","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

これは同じ出力で、フォーマットされています。

{" result":"ok","data":{"@rid":"#24:1","@version":4,"@class":"todos","list_name":"User 1 - List 1 Updated","tasks":[{"task":"New User1 List1 task 1","done":false}],"id":"c83309e7-cbbd-49c8-a76b-9e8fadc72d6f","_creation_date":"2016-04-05T20:34:30.132-0400","_author":"user1"},"http_code":200}

ご覧のとおり、ドキュメントは新しい情報で更新されています。

RESTAPIを使用してドキュメントを削除する

ドキュメントを削除するcurlコマンドの一般的な形式は次のとおりです。

curl -X DELETE http://your_ip_address:9000/document/collection_name/document_id \
  - H X-BB-SESSION:session_id

ドキュメントを削除できるのは、ドキュメントの所有者とドキュメントの「削除」権限を持つユーザーのみです。

次のように、IDが user1_list1_idのコマンドを使用してドキュメントを削除しましょう。

curl -X DELETE http://your_ip_address:9000/document/todos/user1_list1_id \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次の出力が得られます。

{" result":"ok","data":"","http_code":200}

これは、ドキュメントが正常に削除されたことを意味します。今後、 idでこのドキュメントにアクセスしようとすると失敗します。

RESTAPIを使用して他のユーザーにアクセスを許可します

デフォルトでは、BaasBoxは、ユーザーが自分で作成していないドキュメントにアクセスできないようにします。ただし、複数のユーザーにドキュメントへのアクセスを提供する必要がある場合があります。 IDが user1_list1_idのドキュメントへのアクセスを user2に許可しましょう。

curlがドキュメントへのアクセスを許可するために使用するコマンドの一般的な形式は次のとおりです。

curl -X PUT http://your_ip_address:9000/document/collection_name/document_id/access_type/user/username \
  - H X-BB-SESSION:session_id

このコマンドは、このドキュメントへのフルアクセス権を持つユーザーが実行した場合にのみ機能します。 access_typeプレースホルダーには、次の4つの値のいずれかを指定できます。

iduser1_list1_idのドキュメントへの user2読み取りアクセスを許可するには、 user1セッションIDを指定して次のコマンドを実行します。

curl -X PUT http://your_ip_address:9000/document/todos/user1_list1_id/read/user/user2 \
  - H X-BB-SESSION:user1_session_id

このコマンドを実行すると、次の出力が得られます。

{" result":"ok","data":"","http_code":200}

これは、 user2がドキュメント user1_list1_idにアクセスできることを示しています。このドキュメント user2にアクセスしようとすると、エラー応答の代わりにドキュメントの詳細が表示されます。

手順6-スーパーバイザーを使用してアプリケーションを実行し続ける

長時間実行するアプリケーションがある場合は常に、実行を停止するリスクがあります。これは、さまざまな理由(アプリケーションエラー、システムの再起動など)が原因で発生する可能性があります。予期せず終了したときに再起動するようにアプリケーションを構成することをお勧めします。これにより、アプリケーションを保守するための管理オーバーヘッドが最小限に抑えられます。

このアプリケーションでは、長時間実行されるアプリケーションを簡単に管理できる[Supervisor](http://supervisord.org/)を使用します。スーパーバイザーに詳しくない場合は、[スーパーバイザーのインストールとubuntu16.04での簡単な使用(再現)](https://cloud.tencent.com/developer/article/1185747?from=10680)を参照してください。

まず、インストールスーパーバイザー:

sudo apt-get install supervisor

スーパーバイザーがアプリケーションを管理するには、構成ファイルを作成する必要があります。このファイルに baasbox.confという名前を付け、 / etc / supervisor / conf.dディレクトリに配置しました。

sudo nano /etc/supervisor/conf.d/baasbox.conf

ファイルに次のように入力します。

[ program:Baasbox]
directory =/home/sammy/baasbox-0.9.5
command =/home/sammy/baasbox-0.9.5/start
autostart =true
autorestart =true
startsecs =5
user = sammy
stdout_logfile =/var/log/supervisor/baasbox.log

次に、これらの変更をスーパーバイザーに通知し、スーパーバイザーにこれらの変更を使用させる必要があります。次のコマンドを実行します。

supervisorctl reread

次に、次のコマンドを実行します。

supervisorctl update

これで、何らかの理由でアプリケーションがシャットダウンするたびに、Supervisorは手動による介入なしでアプリケーションが再起動することを確認します。

結論として ##

この記事では、BaasBoxを使用して管理コンソールを使用し、REST APIを使用してコンテンツ、ユーザー、およびアクセス許可を管理する方法を学習しました。この記事で紹介したトピックに加えて、BaasBoxはより多くの機能も提供します。さらに、BaasBox管理コンソールを参照して、ファイルの管理、データベースバックアップの取得と復元、およびAPIエンドポイントの可用性の構成を可能にする部分に慣れることができます。さらに重要なことに、次のアプリケーションでBaasBoxの使用を開始できるようになりました。

Linuxオープンソース情報チュートリアルの詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細をご覧ください。

参照:「Ubuntu14.04にBaasBoxをインストールして使用する方法」

Recommended Posts

Ubuntu14.04にBaasBoxをインストールして使用する方法
Ubuntu18.04にCurlをインストールして使用する方法
Ubuntu18.04にComposerをインストールして使用する方法
Ubuntu18.04にWineをインストールして使用する方法
Ubuntu20.04にComposerをインストールして使用する方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
Ubuntu16.04にDockerをインストールして使用する方法
Ubuntu18.04にMySQLWorkbenchをインストールして使用する方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
Ubuntu16.04にNATSをインストールして構成する方法
CentOS7にDockerをインストールして使用する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
CentOS8にComposerをインストールして使用する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu18.04にVNCをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にOrientDBをインストールして構成する方法
CentOS8にCurlをインストールして使用する方法
Ubuntu12.04にAppScaleをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
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をインストールする方法
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をインストールする方法
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をインストールする方法