首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上安装和使用BaasBox

如何在Ubuntu 14.04上安装和使用BaasBox

原创
作者头像
心语花束
修改2018-09-30 10:40:18
1.1K0
修改2018-09-30 10:40:18
举报

介绍

BaasBox是一个充当数据库服务器和应用程序服务器的应用程序。开箱即用,BaasBox通过备份提供用户注册,用户管理,角色管理,内容管理,文件管理和数据库管理功能。由于所有这些功能都是通过标准HTTP REST API公开的,因此Web和移动应用程序的开发人员可以使用BaasBox作为后端来存储数据。开发人员还可以创建基于BaasBox的微服务,这些服务由其应用程序的其他部分使用。

本文将指导您在创建简单的应用程序后端时安装BaasBox,创建用户,使用管理控制台以及探索REST API。

准备

  • 你有一个运行Ubuntu 14.04的CVM,没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 您已经具有管理权限的非root用户身份登录到服务器。
  • 您已从Oracle安装了官方Java 8 JRE。本教程将介绍如何执行此操作。

第一步 - 安装和运行BaasBox

要安装BaasBox,我们从官方网站下载最新的稳定版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-X.Y.Z 的目录中,该X.Y.Z目录将是最新版本,比如0.9.5。输入新创建的目录。

cd baasbox-X.Y.Z

此目录包含一个名为start的文件,需要执行该文件才能启动BaasBox。为此,我们首先需要使用以下命令使其成为可执行文件:

chmod +x ./start

然后启动BaasBox,执行以下命令:

./start

你会看到一些输出,其结尾应该类似于:

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

上面输出中第三行部分表示BaasBox现在正在运行,可以在机器上的9000端口上访问。默认的BaasBox配置侦听所有网络接口上的此端口。BaasBox现在可通过以下方式访问:

  • http://localhost:9000http://127.0.0.1:9000 ,来自一个被安装在(或通过一个SSH隧道)的服务器上
  • http://your_internal_server_ip:9000 来自您的服务器所在的内部网络(如果它在内部网络上)
  • http://your_ip_address:9000来自互联网,如果your_ip_address是可公开访问的IP地址。

如果需要,您可以让BaasBox监听特定的网络接口和不同的端口。为此,请使用以下命令:

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

在您的浏览器访问http://your_ip_address:9000/console以访问BaasBox管理控制台,您将看到如下图所示的界面:

运行BaasBox后,让我们设置一个应用程序和一些用户。

第二步 - 使用BaasBox创建应用程序

在本文中,我们将创建一个简单的Todo List Manager,它应该:

  • 允许用户注册
  • 允许用户登录
  • 允许用户创建多个待办事项列表
  • 允许用户检索自己的待办事项列表
  • 允许用户修改他们的待办事项列表
  • 允许用户删除他们的待办事项列表
  • 允许用户与其他用户共享他们的待办事项列表

请继续关注以下内容:

  • 我们将创建用户user1和用户user2
  • 这些用户的密码分别是user1_passworduser2_password
  • 这些用户的会话ID分别为user1_session_iduser2_session_id

虽然您可以通过REST API管理BaasBox,但使用管理控制台有时会更方便,正如您在第二步中看到的那样,管理控制台处于此状态。访问浏览器中的该http://your_ip_address:9000/console链接。由于这是您第一次使用它,请使用默认凭据登录:

  • 默认用户名: admin
  • 默认密码: admin
  • 默认应用代码: 1234567890

登录后,您将看到BaasBox仪表板:

让我们使用管理控制台为我们的应用程序创建用户。

第三步 - 创建用户

用户管理是BaasBox最有用的功能之一。BaasBox有一些私有的内置用户,无法编辑。这包括admin您在登录管理控制台时使用的用户。

BaasBox还允许您定义角色并将其分配给用户以实现细粒度访问控制。默认情况下,BaasBox具有以下3个角色:

  • administrator - 此角色具有完整,不受限制的访问权限
  • backoffice - 此角色授予对注册用户创建的内容的访问权限
  • registered - 这是新注册用户的默认角色

除了这些预先配置的角色之外,您还可以添加自己的角色。创建新角色时,它具有与上述registered角色相同的权限。

您可以通过管理控制台或REST API在BaasBox中创建用户。通常,您将使用REST API以编程方式创建用户,例如通过应用程序的用户注册过程。

通过管理控制台添加用户时,可以为其设置自定义角色。但是,使用内置REST API进行注册时,会为新创建的用户分配registered角色。

要从BaasBox的管理控制台创建新用户,请在管理控制台中打开USERS> Users菜单,然后单击New User按钮。

这将打开一个表单,您可以在其中填写您正在创建的用户的详细信息:

用户名密码重新输入密码角色,而所有其他字段是可选字段是必需的。请注意,如果需要,您可以在此表单中向下滚动以填写其他详细信息。

将此用户的用户名设置为user1。您可以选择任何角色,但最常用的角色是registered。输入所有详细信息后,单击“ 保存更改”按钮以完成用户创建过程。

我们将在后续部分中使用REST API创建用户。现在让我们为应用程序的内容配置一个位置。

第四步 - 创建集合

BaasBox将您的内容组织成collections ,类似于NoSQL数据库(如MongoDB)提供的集合。 Collections与documents类型相同。熟悉SQL数据库的用户可以认为一个 collection与一个table大致相似。同样, document有点像record

集合只能由管理员创建。虽然创建集合的最常用方法是从管理控制台,但也可以使用REST API执行此操作。在本节中,我们将介绍如何从管理控制台创建集合。

所有内容管理功能都可在管理控制台的“ Collections和” Documents菜单中找到DATA

打开DATA> Collections菜单。您将看到一个列出应用程序中所有当前集合的页面。

要创建新集合,请单击“ 新建集合”按钮。这会显示一个表单,提示您输入集合名称。

输入todos集合的名称,然后单击“ 保存更改”以完成集合创建过程。应用程序的用户现在可以使用REST API访问此集合及其在此集合中的文档。让我们来看看它是如何工作的。

第五步 - 使用REST API

现在我们知道如何使用管理控制台执行各种任务,让我们看看如何使用BaasBox的REST API执行相同的任务。

REST API可以被各种类型的应用程序使用,从Web和移动应用程序到控制台应用程序,我们将使用curl来模拟后面示例中的请求。您可以根据自己的需求调整这些示例,具体取决于您的前端平台。

使用REST API创建用户

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为每个用户生成一个唯一的。当您想通过REST API获取,修改或删除此特定用户的文档时,您将使用此ID。

第二个要注意的值是X-BB-SESSION ,需要在将来的所有查询中出现的会话ID user2。我们将在后续章节中引用此user2_session_id值。

使用REST API记录用户

现在我们有了会话ID user2,让我们为之前在管理控制台中创建的用户获取一个user1。我们将通过user1使用REST API 登录来完成此操作。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
}

上面响应中显示了user1X-BB-SESSION ,我们将要在将来进行的所有查询中使用会话ID user1。我们将从现在开始引用此user1_session_id值。

使用REST API创建文档

让我们在我们的应用程序中创建两个文档。我们将一个文档分配给我们使用管理控制台创建的用户user1 ,然后我们将另一个文档分配给我们通过REST API创建的用户user2 。我们将创建的文档结构如下所示:

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

查看结构,我们可以看到文档将具有两个属性。一个是任务列表的名称,另一个是该列表中的任务列表。

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

现在,您自己使用相同的方法执行以下操作:

  • user1创建另一个列表
  • user2创建两个列表

完成这些步骤后,您将在todos集合中共有4个文档。在后续章节中,我们将这些文档的ID称为:

  • user1 list1 id
  • user1 list2 id
  • user2 list1 id
  • user2 list2 id

现在我们可以使用一些数据,以便我们研究如何使用REST API查询数据。

使用REST API检索单个文档

curlid获取文档的命令的一般格式是:

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

如果我们想要获取由user1user1凭证)创建的第一个文档,该命令应该是:

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未创建此文档且无法访问此文档,因此获取操作失败。如果您尝试执行user2命令,并且是使用user2 id创建的文档,您将能够获取该文档。

使用REST API检索所有文档

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执行相同的查询,您将看到一组不同的文档。

使用REST API更新文档

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

尝试更新文档时要记住两件事:

  • 只有文档所有者才能修改文档
  • 更新不会合并旧文档和新文档。它新的文档替换旧文档。这意味着如果更新命令包含原始版本中缺少某些字段的文档,则这些字段将丢失。

让我们使用此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
}

如您所见,该文档已使用新信息进行了更新。

使用REST API删除文档

curl用于删除文档的命令的一般格式是:

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

只有文档所有者和对文档具有delete权限的用户才能删除该文档。

让我们使用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都将失败。

使用REST API授予对其他用户的访问权限

我们已经看到,默认情况下,BaasBox会阻止用户访问不是由他们创建的文档。但是,有时需要为多个用户提供对文档的访问权限。让我们授予user2对带有iduser1_list1_id的文档的访问权限。

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个值中的一个:

  • 更新
  • 删除
  • 所有

要授予user2对具有iduser1_list1_id的文档的读访问权限,请使用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,您现在将看到文档详细信息而不是错误响应

第六步 - 使用Supervisor保持应用程序运行

每当您有一个长时间运行的应用程序时,总会存在它可能停止运行的风险。这可能由于各种原因(例如应用程序错误,系统重启等)而发生。将应用程序配置为在意外关闭时重新启动是一种好习惯。这最大限度地减少了维护应用程序的管理开销。

对于此应用程序,我们将使用Supervisor,可以轻松管理长时间运行的应用程序。如果您不熟悉Supervisor,可以参考阅读ubuntu16.04中supervisor安装与简单使用(转载)

首先,安装主管:

sudo apt-get install supervisor

为了让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

我们现在需要通知Supervisor这些更改并让它使用这些更改。执行以下命令:

supervisorctl reread

然后运行以下命令:

supervisorctl update

现在,无论何时您的应用程序因任何原因而关闭,Supervisor都会确保它重新启动而无需任何手动干预。

结论

在本文中,我们了解了如何使用BaasBox使用管理控制台和使用REST API来管理内容,用户和权限。除了本文中介绍的主题之外,BaasBox还提供了更多功能。您可以进一步浏览BaasBox管理控制台,以熟悉允许您管理文件,获取和恢复数据库备份以及配置API端点可用性的部分。更重要的是,您现在可以在下一个应用程序中开始使用BaasBox。

想要了解更多关于Linux的开源信息教程,请前往腾讯云+社区学习更多知识。

参考文献:《How To Install and Use BaasBox on Ubuntu 14.04》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第一步 - 安装和运行BaasBox
  • 第二步 - 使用BaasBox创建应用程序
  • 第三步 - 创建用户
  • 第四步 - 创建集合
  • 第五步 - 使用REST API
    • 使用REST API创建用户
      • 使用REST API记录用户
        • 使用REST API创建文档
          • 使用REST API检索单个文档
            • 使用REST API检索所有文档
              • 使用REST API更新文档
                • 使用REST API删除文档
                  • 使用REST API授予对其他用户的访问权限
                  • 第六步 - 使用Supervisor保持应用程序运行
                  • 结论
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档