介绍
Parse 是基于 MongoDB 的后端数据存储服务。
系统环境
linux x64
准备工作
安装 git
和 nodejs
部署MongoDB
下载
官网有编译好的MongDB压缩包直接下载即可 - https://www.mongodb.com/download-center/enterprise
安装
// 将压缩包上传到服务器 mongodb-linux-x86_64-enterprise-rhel70-4.2.0.tgz
// 解压
tar zxvf mongodb-linux-x86_64-enterprise-rhel70-4.2.0.tgz
// 重重名解压后的文件夹,这个看个人习惯
mv mongodb-linux-x86_64-enterprise-rhel70-4.2.0 mongodb
配置环境变量
// 在 `/etc/profile` 中添加 MongoDB 执行文件路径
vim /etc/profile
// 最后一行添加 以下为我自己的mongodb 目录
PATH=$PATH:/usr/local/mongodb/bin
// 执行 source 命令使用新添加的环境变量生效
source /etc/profile
启动
- 创建数据库目录
mkdir -p /data/db
- 启动
MongoDB 启动时如果不指定 --dbpath
参数,默认会使用 /data/db
作为数据库目录并且不会自动创建数据库文件夹,所以一定先创建好数据库文件夹。
mongod --dbpath /data/db
// 守护进程的方式启动
mongod --dbpath &
- 设置开机自启
在 /etc/rc.local
中添加启动 mongod
的命令
vim /etc/rc.local
// 在最后添加一行
/usr/local/mongodb/bin/mongod --dbpath=/data/db &
部署Parse Server
-
去 github 上下载最新的 Parse Server。可能有些人不熟 github,不知道怎么下载,你看右边有个 [Download ZIP] 的按钮,点击就直接下载了。
-
解压缩后得到一个 parse-server-maste r的目录,cd 到这个目录,执行以下命令。
npm install -g parse-server mongodb-runner
// npm 太慢的话,可以使用淘宝的镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
// 设置了 cnpm 镜像后就可以使用 cnpm 了
cnpm install -g parse-server mongodb-runner
等命令跑完后你会发现多了个node_modules的文件夹。命令执行期间如果出现找不到python的错误,不用理会。
- 在命令行启动 Parse Server。appId 和 masterKey 你可以随便给,最好复杂点。如果 mongodb 需要授权的话,请加上 –-databaseURI。
parse-server --appId 123 --masterKey 123 --databaseURI mongodb://username:password@localhost:27017/dbname
// 如果 MongoDB 没有设置用户名和密码,直接去掉上面的 username:password@ 即可
以上是直接将启动参数放在命令行进行启动,也可以将这些配置项放到一个配置文件中。
在 parse server
目录下新建 config.json
,内容如下:
{
"appId": "78574cbdde1b4a7777ec7dbb7e662785",
"masterKey": "95462a9408470f1e0f3de52a6d79f056",
"appName": "aizx",
"databaseURI": "mongodb://localhost:27017/im"
}
以配置文件启动
parse-server ./config.json &
Parse Server部署完毕!服务器地址为:http://localhost:1337/parse。mongodb有用户名密码的,如果直接访问出现{“error”:”unauthorized”},说明parse server在正常运行。
部署Parse Dashboard
-
从 github 上下载 Parse Dashboard。
-
解压后得到 parse-dashboard-master 目录,cd 到这个目录,执行以下命令
parse-dashboard --appId 123 --masterKey 123 --serverURL "http://localhost:1337/parse" --appName YOUR_DB_NAME
- Parse Dashboard 部署完毕!服务器地址为:http://localhost:4040。此时你在浏览器里输入这个地址就能看到新版的 Parse Dashboard 了。
Parse Dashboard配置文件
- 配置文件里允许配置多个app和用户,具体使用如下。
打开配置文件 parse-dashboard-master/Parse-Dashboard/parse-dashboard-config.json,没有的话你在 parse-dashboard-master 路径下新建一个 parse-dashboard-config.json 配置文件。
编辑Json格式的配置文件并保存,内容如下。
{
"apps": [
{
"serverURL": "http://localhost:1337/parse",
"appId": "123",
"masterKey": "123",
"appName": "My Parse Server App"
},
{
"serverURL": "http://api.parse.com/1",
"appId": "myAppId",
"masterKey": "myMasterKey",
"appName": "My Parse Server App"
}
],
"users": [
{
"user":"admin",
"pass":"admin"
},
{
"user":"myUserName",
"pass":"myPassword"
}
]
}
- 通过配置文件进行启动
parse-dashboard --conifg parse-dashboard-config.json --allowInsecureHTTP
这样就能用 admin 来登入 Parse Dashboard,并管理多个 app 了!
用 HTTP 访问 Parse Dashboard
如果你是在远程服务器上部署了Parse,那么你在访问 Parse Dashboard 的时候会发现出现这个问题
Parse Dashboard can only be remotely accessed via HTTPS
解决方案:在启动命令行后面加上 –-allowInsecureHTTP
parse-server进程退出问题
更新时间 2019年10月14日
满心欢喜地以为一切已经正常运行的时候,第二天再查看一下进程,发现 parse-server 进程不见了。
通过不断测试发现,parse-server 无论是使用 command &
还是使用 nohub command &
命令启动 parse-server 服务,当 session 窗口关闭的时候,进程都会退出。
既然通过直接 command &
这种方式不行的话只能另想他法,我目前能操作的有两种方法:
- 使用 screen 开启一个虚拟窗口
- 使用进程管理器
这里我使用了进程管理器 supervisor 来操作,最后解决了这个问题,关于 supervisor 的部署与配置,可以参看我的另一篇文章《linux安装supervisor进程管理器》