如何在ubuntu14.04上运行Parse Server

系列教程

《如何配置Parse Server》 系列教程共两篇教程,该教程是它的第一部分。

介绍

Parse是以服务平台的形式作为移动后端,在2013年被Facebook收购。2016年1月,Parse公司宣称他们将在2017年1月关闭服务。
为了让用户完成从有主机服务到无主机服务的过渡,Parse公司已经发布了它的后端的一个开源版本,叫做Parse Server,它能够被配置到Node.js服务器和MongoDB数据库中。
这份教程附有在ubuntu14.04上安装Parse Server的详细指令,如DigitalOcean Droplet,比官方文档更详细。那些考虑迁移他们的Parse应用的Parse开发者,可以看看这篇教程和官方的Parse Server说明书。

前提

①ubuntu14.04系统
②用sudo命令配置非根用户的管理权限(non-root user)
③安装MongoDB数据库。你可以先看看《如何在ubuntu14.04上安装MongoDB数据库》这篇文章。在创建MongoDB数据库时,把这些脚本添加到User Data里,MongoDB就能被自动地安装在新的Droplet里。阅读这份教程,就能对Droplet User Data有更多的了解。
第一步 安装Node.js和开发工具
把现在的工作路径改为你的sudo用户的根目录:

cd ~

NodeSource给Debian和Ubuntu的 Node.js包提供了Apt库。我们将会用它来安装Node.js。NodeSource提供了适用于最新版的Node.js(写这篇文章的时候,最新版是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,sudo -E这个命令已经保留了用户的环境变量,所以我们可以用脚本来运行nodesource_setup.sh
sudo -E bash ./nodesource_setup.sh
一旦脚本运行结束,NodeSource库就能在系统使用了。我们可以使用apt-get来安装nodejs包,同时,我们也要安装build-essential元数据包,这个元数据包提供了一套开发工具,这些工具在后面会很有用,还提供了从GitHub检索项目的Git版本控制系统。

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

第二步 安装Parse Server的示例App

Parse Server 是和Express一起使用的,Express是Node.js的一个很热门的web应用框架,它允许在指定路径安装符合已定义的API的中间软件组件。 这个parse-server-example库包含了stubbed-out这个例子。
用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中

第三步 测试示例App

用npm命令来开启服务

npm start

结果如下:

这里写图片描述

你可以按Ctrl-C来终止程序的运行。
index.js中的Express app 将传达HTTP请求给parse-server模块,parse-server模块会轮流和你的MongoDB数据库实例进行通讯,和调用~/parse-server-example/cloud/main.js.中的函数
在这种情况下,Parse Server API 的终结点会默认调用:
http://your_server_IP/parse
在另一个终端,你可以使用curl命令来测试这个终结点,首先确保你登录进入你的服务器,因为这些命令会引用localhost来代替特定的IP地址。
通过发送带有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

结果如下:
这里写图片描述

你发送的数据将存储在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

结果如下:
这里写图片描述

第四步 配置示例应用

可以在你的终端,按Ctrl+C来停止Parse Server 应用的运行版本。
我们可以通过使用6个环境变量,来配置示例脚本。

变量 描述
DATABASE_URI DATABASE_URI 一个MongoDB连接的通用资源标识符(URI)如 mongodb://localhost:27017/dev
CLOUD_CODE_MAIN 包含Parse Cloud Code 函数的文件的路径 如 cloud/main.js
APP_ID 你的App的字符串标识码, 如 myAppId
MASTER_KEY 一个主密钥,它能允许你绕开app的所有安全机制
PARSE_MOUNT Parse Server API服务的路径, 如 /parse
PORT app 监听的端口, 如 1337

在运行脚本前,你可以用export命令设置任何值,如

export APP_ID=fooApp

index.js这个文件中的代码是值得一读的,但为了明白它是如何工作的,你也可以写一个简单的例子。用你的编辑器打开一个新的脚本:

nano my_app.js

复制粘贴下面的代码,根据你的需要更改高亮的代码
这里写图片描述
保存并关闭这个文件,然后和node.js一起启动:

node my_app.js

结果如下
这里写图片描述

my_app.js这个例子和index.js的工作方式相似,不同之处在于my_app.js用安装在/myparseapp的Parse Server监听9999端口,所以它的端点URL看起来如下:
http://yourserverIP:9999/myparseapp
我们可以用curl命令来测试它:

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

总结

你应该了解在Ubuntu运行像Parse Server这样的Node.js应用的基本原理。从Parse完整地迁移一个应用可能需要做更多的事,需要修改代码和仔细规划基础架构。
想更详细地知道这个过程,可以看这个系列教程的第二部分 – 如何在Ubuntu 14.04上迁移一个Parse应用到Parse Server。你同样也需要参考官方的Parse Server 说明书,特别是迁移Parse 应用那部分。

猜你喜欢

转载自blog.csdn.net/wowkk/article/details/51722200
今日推荐