Linux部署ParseServer

介绍

Parse 是基于 MongoDB 的后端数据存储服务。

系统环境

linux x64

准备工作

安装 gitnodejs

部署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 & 这种方式不行的话只能另想他法,我目前能操作的有两种方法:

  1. 使用 screen 开启一个虚拟窗口
  2. 使用进程管理器

这里我使用了进程管理器 supervisor 来操作,最后解决了这个问题,关于 supervisor 的部署与配置,可以参看我的另一篇文章《linux安装supervisor进程管理器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值