闲来无事,在搜索配置后台时发现了Parse这个开源后台框架,阅读了下资料,发现挺强大,于是手动部署起来。但关于部署方面,网上的资源还比较少,几乎都是几年前的,已经跟当前版本有很大不适配。最终还是参考着官网的文档,来尝试一步步进行部署。
参考文档:
首先,就是要申请腾讯云服务器,机器配置根据个人需求选择,安全组注意开通1337和4040端口。安装好系统后,远程ssh连接服务器,在命令行执行前置工具的初始化
sudo apt update
安装NodeJs
sudo apt install nodejs
检查NodeJs是否安装成功和查看版本
node -v
安装npm工具
sudo apt install npm
安装yarn工具
sudo npm install yarn –g
安装数据库,可以选择mongodb和postgres,这里采用的是postgres
sudo apt-get -y install postgresql
创建用户,名字为postgres
sudo su postgres
进入sql执行命令行
psql
设置密码,注意密码最好不要带特殊符号
ALTER USER postgres password 'myStrongPassword';
退出sql执行命令行
\q
退出postgres用户
exit
进入到postgres目录
cd /etc/postgresql/14/main/
修改配置文件 pg_hba.conf
sudo vi pg_hba.conf
改成如下图所示
修改配置文件postgresql.conf
sudo vi postgresql.conf
找到#listen_addresses=’localhost’,将注释去掉,并将localhost改为*
重启一下PostgreSQL
sudo service postgresql restart
在home目录下创建一个parse应用的目录
mkdir parse-server
执行创建应用的脚本
sh <(curl -fsSL https://raw.githubusercontent.com/parse-community/parse-server/master/bootstrap.sh)
但在腾讯云上似乎执行这个命令会没反应,可以将bootstrap.sh手动保存,然后执行
chmod a+x bootstrap.sh & ./boostrap.sh
按提示完成新应用创建,输入appId, masterKey和clientKey,还可以直接修改配置文件config.json
config.json { "appId": "exampleAppId", "masterKey": "exampleMasterKey", "clientKey": "exampleClientKey", "appName": "MyApp", "cloud": "./cloud/main", "databaseURI": "postgres://postgres:myStrongPassword@localhost:5432/postgres" }
安装Parse Server
sudo npm install -g parse-server
启动Parse Server
nohup parse-server config.json &
访问http://<IP_OR_DOMAIN>:1337/parse,如果提示{“error”:”unauthorized”},则表示安装成功
安装Parse Dashboard
sudo npm install -g parse-dashboard
修改/usr/local/lib/node_modules/parse-dashboard/Parse-Dashboard/下的parse-dashboard-config.json
将之前创建应用的appId,masterKey,appName填上
{ "apps": [{ "serverURL": "http://example.com:1337/parse", "appId": "exampleAppId", "masterKey": "exampleMasterKey", "allowInsecureHTTP": "true", "appName": "MyApp" }], "users": [{ "user": "admin", "pass": "password" }] }
启动Dashboard
nohup parse-dashboard --config parse-dashboard-config.json &
访问Dashboard
http://<IP_OR_DOMAIN>:4040
问题:
进入Dashboard后提示无法连接到app的服务器
解决:
确认下是否有其他程序占用了1337端口
lsof -i:1337
杀掉对应的进程
kill -9 pid
问题:
Dashboard提示无法连接masterKeys
解决:
查看日志发现是缺少masterKeyIps,参考Default `masterKeyIps` does not work on localhost · Issue #8316 · parse-community/parse-server · GitHub
在config.json中添加masterKeyIps
- 本文固定链接: https://freemanapp.com/zh/?p=902
- 转载请注明: freeman 于 FreemanApp 发表