在sae新浪云部署parse-server

 

之前看到过移动端开发的云服务,bmob,可以不用管服务端,通过引用他们的sdk将数据保存到他们服务器,另外他们也提供管理后台,可以看到注册的用户,数据之类,涉及到服务端的逻辑,这种平台还提供云函数。

前段时间看微信小程序的开发,有"云开发"也是类似的功能,微信小程序的开发工具里配置一下可以直接上传云函数。

这样很大程度上简化了开发过程

 

但是我自己在开发app的时候却不是这样,因为是公司的app,要先让服务器端的同事开发接口,接口的功能和后端云提供的差不多,就是用户管理、权限、添加删除数据之类的。有了服务器端接口之后,安卓端要找一个http请求的sdk一般是用nohttp,根据接口文档调用接口。由于大家都很熟练,应用的功能也不复杂,倒也没什么问题,只是有更简单快速的办法。

我估计很少有公司会用bmob这样的服务,首先,公司不愿意将数据放在第三方平台,就算是个人也总感觉不靠谱;另外这些云服务不能直接访问数据库,会导致和其他系统之间不能通信,当然这可以继续完善增加这个功能,但目前至少微信小程序的云开发是不可以的。

因此就会想我要不自己写一个?或者有没有开源的,应该有不少人写过这样的东西了,很早的时候就有内容管理系统,或者代码生成器这样的东西。比如Django创建web项目之后,就会同时也创建一个管理后台,只是没有各种客户端的sdk。

只是没有bmob这样的"高级",可能是因为没有nosql。

原理也并不复杂,做开发的都能想到,我之前找过有没有开源的但没找到。

不过现在找到了,叫parseplatform,这个一开始是收费的只提供服务,后来被Facebook收购了,然后开源。

可能是因为名字太长,parse也没有辨识度,所以讨论的并不多,也没多少人写教程之类的。

所以我就写一下如何在新浪云上部署parse-server。

Parse主要有三个部分parse-server、parse-dashboard和客户端sdk,parse-server、parse-dashboard都是使用node.js实现,数据库使用mongodb。

在新浪云sae上部署,还算比较顺利,dashboard管理后台没有直接连接数据,通过parse-server提供的接口访问相关服务,另外一般也不对外开放,所以部署到本地就可以了。

所以只需要部署parse-server就可以了。

 

1.登录sae后台,创建应用,选择应用类型为“容器运行环境”,我选的基础镜像是Ubuntu。

2.打开终端连接到容器环境,执行命令安装mongodb,sea中提供mongodb功能,如果正式使用最好用sea中的mongodb,但为了节约成本(sae中的mongodb收费最低2元/天),直接在容器内部安装mongodb。

sudo apt install mongodb

3.再安装nodejs、npm,接着按照github上提供的命令,安装parse-server相关的命令,如果提示缺少什么命令直接用apt install安装即可,这里要注意的是github上文档和他们官网的稍微有一点区别,按照github上的好一点。

sudo apt install node.js

sudo apt install npm

4.创建/data/db数据库目录(本人使用共享存储挂载),使用service mongodb start或 mongod & 命令启动mongodb,运行mongo命令查看是否连接成功。

5.运行命令 parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://localhost/test 启动parse-server,如果一切顺利的话,运行文档里curl的测试命令会返回json结果,命令里的url的端口要换成5050,这里的MASTER_KEY非常重要,是区别超级管理员与普通用户的关键,一定不能泄露,千万不可以放到客户端。

6.测试本地是否能访问远程服务,将测试命令中curl测试命令中http地址替换成sae提供的二级域名在本地执行curl命令,需要注意的是windows下没有curl命令,本人下载了一个curl执行命令时返回的结果又问题,可以通过安装cygwin或者连一台远程linux服务器来解决,如果返回正常接下来就可以打包镜像了。

7.创建mint配置文件,使用mint命令启动mongodb和parse-server,具体参照sea云容器相关文档

https://www.sinacloud.com/doc/sae/docker/vm-getting-started.html,打包镜像时填写启动命令可以用分号分割填2条分别启动mongodb和parse-server。

8.打包镜像,打包镜像时,容器会重启,重启后等一会,再使用curl测试,如果能正常访问,表示大功告成。

9.本地安装parse-dashboard,本地安装node.js、npm,再用npm命令安装parse-dashboard,详细参考github上的文档。

https://github.com/parse-community/parse-dashboard

安装成功后接下来就是具体的使用了,实际使用过程也会有很多问题,比如怎么支持第三方登录,示例中使用谷歌和faceboo账号,显然并不符合我们的要求,另外如保存文件的之类本人还并没有用客户端sdk做尝试,如果并非量很高会怎样等等,我想既然是开源这些都不是问题,用的人多了就会得到改进,或者自己动手改进。

我想这是一种全新的开发方法,不用再区分客户端与服务端只是远程与本地代码的区别。

更多内容请关注我的公众号:nohave5

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值