如何在Ubuntu 16.04和14.04安装Parse Server

本教程将帮助您在Ubuntu 16.04和14.04 LTS,Debian和Linuxmint操作系统上安装Parse Server。在Linux上安装Parse Server

Parse是移动后端即服务平台,2013年以来被Facebook所拥有,在2016年1月Parse宣布其托管服务将关闭在2017年1月,所以如果你是Parse.com用户,你必须将所有用你自己的服务器。本教程将帮助您在Ubuntu 16.04和14.04 LTS操作系统上安装Parse Server。

1. 安装Node.js

首先,你需要node.js的PPA在我们的系统的NodeJS官方网站提供通过。我们还需要如果尚未安装,安装python-software-properties 包。
$ sudo apt-get install build-essential git python-software-properties
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
添加PPA文件后,安装NodeJS。 NPM将与node.js都会由这个命令将在系统上安装其他许多依赖包。
$ sudo apt-get install nodejs

2. 安装MongoDB的服务器

您还需要MongoDB系统上的数据库服务器。使用下列命令集来安装最新版本的MongoDB服务器。 添加PPA的MongoDB到您的系统。
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$ echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
现在升级apt缓存和安装MongoDB数据库服务器。
$ sudo apt-get update
$ sudo apt-get install mongodb-org

3. 下载并安装Parse Server

现在下载由ParsePlatform开发商提供的示例Parse Server上的文件。
$ cd /opt
$ git clone https://github.com/ParsePlatform/parse-server-example.git
现在运行下面的命令来安装NodeJS所有依赖。
$ cd parse-server-example
$ npm install 
现在编辑index.js文件和更新 APP_ID、MASTER_KEY,如果需要SERVER_URL如下。使用APP_ID和MASTER_KEY任何随机字符串测试您的设置。
$ vi index.js
var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/parse',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'KSJ4KLJ5KJK435J3KSS9F9D8S9F8SD98F9SDF',
  masterKey: process.env.MASTER_KEY || 'KSJFKKJ3K4JK3J4K3JUWE89ISDJHFSJDFS',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  
  ...
做上述更改后使用以下命令运行Parse Server。
$ npm start 

//// Output
> parse-server-example@1.4.0 start /opt/parse-server-example
> node index.js

DATABASE_URI not specified, falling back to localhost.
parse-server-example running on port 1337.
info: Parse LiveQuery Server starts running

4. 测试Parse Server

当你的Parse Server的安装已顺利完成。做一些测试,以确保其正常运行。 首先添加一些值使用curl命令行工具来Parse Server。这将连接到服务器的解析和记录将被保存到MongoDB的数据库。更改myAppId在index.js您定义的process.env.APP_ID。
$ curl -X POST \
  -H "X-Parse-Application-Id: myAppId" \
  -H "Content-Type: application/json" \
  -d '{"score":1337,"InventoryName":"Desktops","cheatMode":false}' \
  http://localhost:1337/parse/classes/Inventory
结果:
{"objectId":"aBacyYpPus","createdAt":"2016-09-14T19:16:19.254Z"}
现在,使用以下命令从Parse Server上获取的值。
$ curl -X GET -H "X-Parse-Application-Id: myAppId"\
  http://localhost:1337/parse/classes/Inventory
结果:
{"results":[{"objectId":"aBacyYpPus","score":1337,"InventoryName":"Desktops","cheatMode":false,"createdAt":"2016-09-14T19:16:19.254Z","updatedAt":"2016-09-14T19:16:19.254Z"}]}