Parse-Server后台搭建与使用基础篇(一)- 阿里云ECS Parse-server的简单搭建与使用

介绍


Parse-Server 是一款开源的、基于nodejs的后端框架 , 可以基于它进行产品的后端restful api的开发 ,用于提高中小型应用的开发效率。
github地址

优点:

  1. 通用接口支持(post , get , put ,delete): 不同表名进行不同表的操作。
  2. 默认使用mongodb作为数据库 :可直接操作数据,无需第三方数据库orm。
  3. 支持通用查询筛选 :分页、条件筛选(关联与非关联字段)、排序等。
  4. 支持云代码 : trigger ,自定义云函数的支持,方便编写业务逻辑。
  5. 可结合express : 拓展方便。

缺点:

  1. 对于一些功能较复杂的需求就不太适合。
  2. 数据库操作功能有限。

使用场景:
适合一些没有太多业务逻辑的前端应用<移动端,h5,小程序>



本文结构:

一.工具介绍
二.安装软件介绍
三.安装步骤
四.常见问题及解决方案。

已经熟悉怎么搭建的同学可以去进阶篇Parse-Server后台搭建与使用进阶篇(二)- Parse-server常见问题及解决方法


一、工具介绍:

1.电脑:Mac电脑 ,使用Mac或者windows电脑不影响搭建流程
2.ssh工具:FinalShell,windows可以用类似Xshell的工具。
3.阿里云ECS服务器一台,创建时操作系统选ubuntu -16.0.4即可


二、安装软件介绍:

  1. Node js
  2. Mongodb
  3. parse-server
  4. parse-dashboard


三、安装步骤:

使用Finalshell 通过ssh连接登录到服务器


1





1.安装node js和npm

1.1更新软件源 ,"#" 代表是一条执行的命令行命令,不用复制
# sudo apt-get update
# sudo apt update

1.2安装npm
# sudo apt install npm

1.3更新淘宝源
# sudo npm config set registry https://registry.npm.taobao.org

1.4安装-g
# npm install n -g

1.5安装最新长期支持版node

\#  sudo n lts

1.6安装成功后检查如下目录是否安装成功
# /usr/local/n/versions/node/12.18.3
每条命令等他跑完跑下一条就好了 有需要选择y/n的 敲一下y 回车。

1.7检查安装是否成功
# node -v

1.8更新npm,可以通过运行以下命令来手动更新
# npm install -g npm@latest

1.9如果是由于未安装npm而遇到无法更新的问题,则可以先使用来安装
# npm sudo apt-get install -y npm

1.10然后运行上面的命令进行更新。要运行某些npm软件包,我们还需要运行以下命令:
# sudo apt install build-essential

1.11检查是否建立快捷链接
# ls /usr/local/bin/

2.如果上面的安装不成功可以通过下载源码的方式安装,耗时较长但是能保证安装的成功率和版本最新。

2.1首先在/usr目录下创建一个node文件夹,之后运行如下命令
# wget https://nodejs.org/dist/v14.16.0/node-v14.16.0.tar.gz

2.2解压文件包
# tar -zvxf node-v14.16.0.tar.gz

2.3安装
# cd node-v14.16.0
# ./configure
# make //这里有些慢,需要耐心等待
# sudo make install //稍微快点
# node -v && npm -v //测试安装是否成功
成功如下





3.安装Mongodb

3.1.在/root/目录下创建一个parse文件夹,再在parse文件下创建一个mongodb文件夹,切换到mongodb文件夹下
# cd /root/parse/mongodb

3.2.下载mongodb安装包
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.4.4.tgz
不能下载的话去官网https://www.mongodb.com/try/download/community
查下mongodb-linux-x86_64-ubuntu1604-4.4.0.tar的下载地址。

也可以直接从网站上下载下来,然后通过命令传到服务器上的这个目录下。

3.3.解压
# tar -xvf mongodb-linux-x86_64-ubuntu1604-4.4.0.tar

3.4.将解压文件下文件移到当前目录
# mv mongodb-linux-x86_64-ubuntu1604-4.4.0/* ./

3.5.删除压缩包和解压文件夹
# rm mongodb-linux-x86_64-ubuntu1604-4.4.0/ -rf
# rm mongodb-linux-x86_64-ubuntu1604-4.4.0.tgz -f

3.6.当前文件夹下创建 data/db data/logs/目录

3.7.进入mongodb/bin目录,执行以下命令将mongo和mongod设置为全局命令:
# ln -s /root/parse/mongodb/bin/mongo /usr/local/bin/mongo
# ln -s /root/parse/mongodb/bin/mongod /usr/local/bin/mongod

3.8. mongodb目录下创建data文件夹,data文件加下分别创建db和log文件夹用以存储数据和日志
bin目录下创建配置文件mongodb.conf 通过vim添加如下参数
dbpath = /root/parse/mongodb/data/db
logpath = /root/parse/mongodb/data/log/mongodb.log
bind_ip = 0.0.0.0
port = 27017
fork = true
logappend = true
添加之后保存退出:wq

3.9.启动mongodb
# mongod --config /root/parse/mongodb/bin/mongodb.conf


如果遇到mongod: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
安装libcurl库

\#  apt-get install libcurl4-openssl-dev


接着运行
# mongod --config /root/parse/mongodb/bin/mongodb.conf
运行成功显示如下:



如果报ERROR: child process failed, exited with 100 错误码100
检查
dbpath = /root/parse/mongodb/data/db
logpath = /root/parse/mongodb/data/log/mongodb.log
这两项是否有路径填写错误,或者文件/文件夹未创建< data ,db, log , mongodb.log >

3.10.启动成功后在浏览器中输入:你的服务器ip:27017 ,例如:11.32.128.12:27017
显示如下则说明安装成功



如果不能显示,请在你服务器中配置安全组,并在安全组中将27017端口打开后重试。


也可以通过进程查询命令查询是否启动了进程 如下有一个0.0.0.0:27017的进程 说明程序已启动
# netstat -tunlp






4.安装parse-server

4.1安装
# npm install -g parse-server

4.2安装成功后可以通过命令启动Parse-server,启动前请在你服务器中配置安全组,并在安全组中将1337端口打开

4.3启动命令
# parse-server --appId 你的AppID --masterKey 你的AppKey --databaseURI mongodb://服务器IP/parse --serverURL http://服务器IP/parse &

比如# parse-server --appId ETY231151C07FB4PL --masterKey F16214HLKSFW11417A9 --databaseURI mongodb://10.11.214.15/parse --serverURL http://10.11.214.15/parse &

4.4同样也可以通过进程查询命令查询是否启动了进程 如下有一个0.0.0.0:1337的进程 说明程序已启动
# netstat -tunlp


4.5 测试是否能够远程存储数据,在你的电脑端命令行工具里复制如下命令
# curl -X POST
-H "X-Parse-Application-Id: 你的AppID"
-H "Content-Type: application/json"
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}'
http://服务器IP:1337/parse/classes/GameScore


如上 则说明你已经拥有了一台可以存储数据的服务器了。





5.安装parse-dashboard

我们已经有一台可以存储数据的服务器了,是不是应该给他装一个界面化的管理工具呢?parse-dashboard就是配套的后台管理界面的程序。

5.1.安装

安装git
# sudo apt-get install git
安装parse-dashboard
# npm install -g parse-dashboard

5.2.如果安装卡顿或者缓慢可以配置一个github的host

# sudo vim /etc/hosts
复制粘贴如下:
140.82.113.3 github.com
140.82.114.20 gist.github.com
151.101.184.133 assets-cdn.github.com
151.101.184.133 raw.githubusercontent.com
151.101.184.133 gist.githubusercontent.com
151.101.184.133 cloud.githubusercontent.com
151.101.184.133 camo.githubusercontent.com
151.101.184.133 avatars0.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com
199.232.28.133 avatars1.githubusercontent.com
151.101.184.133 avatars1.githubusercontent.com
151.101.184.133 avatars2.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
151.101.184.133 avatars3.githubusercontent.com
199.232.68.133 avatars3.githubusercontent.com
151.101.184.133 avatars4.githubusercontent.com
199.232.68.133 avatars4.githubusercontent.com
151.101.184.133 avatars5.githubusercontent.com
199.232.68.133 avatars5.githubusercontent.com
151.101.184.133 avatars6.githubusercontent.com
199.232.68.133 avatars6.githubusercontent.com
151.101.184.133 avatars7.githubusercontent.com
199.232.68.133 avatars7.githubusercontent.com
151.101.184.133 avatars8.githubusercontent.com
199.232.68.133 avatars8.githubusercontent.com


:wq保存退出 重新运行上面的命令

5.3 安装成功后,创建配置文件

在/etc/parse/目录下创建一个parse-dashboard.json配置文件,没有文件夹自己新建一个
# vim /etc/parse/parse-dashboard.json
编辑输入如下配置

{
    "apps": [{
        "serverURL": "http://你的服务器IP:1337/parse",
        "appId": "你的appkey",
        "masterKey": "你的masterKey",
        "appName": "App名称"
    }],
    "users": [{
        "user": "admin",
        "pass": "admin"
    }]
}

5.4启动程序
# parse-dashboard --config /etc/parse/parse-dashboard.json --allowInsecureHTTP &
启动成功后如下



启动后请在你服务器中配置安全组,并在安全组中将4040端口打开

5.5打开你的浏览器输入http://你的ip:4040



输入你的用户名密码 admin admin
登录进入之后 我们可以看到我们的管理界面点击左边的GameScore类还可以查看到我们创建的数据


结语

这只是一个基础搭建的教程,下面一篇要讲的是进阶使用,当前搭建的这一套还只能用于测试还不能当成正式服务器来使用。

本人从事移动端开发,没有前端nodejs的开发经验。我在搭建的前后也遇到了很多问题,因为不是熟悉的开发语言和环境所以很多问题解决起来比较困难只能靠google和官方文档,所以这篇一是记录自己的搭建步骤和遇到的问题,二也是希望能够帮助到一些和我遇到同样问题的人。所以本篇讲的是如我一样的小白,想要搭建一个自己应用的后台和后台管理的使用场景。并不涉及parse-server的二次开发和深度使用。能力有限,水平一般,如有错误之处欢迎指正,咱们下篇见。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,941评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,397评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,345评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,851评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,868评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,688评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,414评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,319评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,775评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,096评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,789评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,437评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,993评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,107评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,308评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,037评论 2 355

推荐阅读更多精彩内容