私有部署安装步骤

下载部署包

下载对应平台的部署包(server-linuxserver-win.exe)到指定目录。

wget https://z-pub.oss-cn-hangzhou.aliyuncs.com/privatedeploy/server-linux

配置文件

用下面的模板创建setting.json文件并适当编辑,跟部署包放在一起。

{
    "nodeName": "MAIN",
    "appId": "",
    "appSecret": "",
    "appCenter": "localhost",
    "socket": "localhost",
    "port": 80,
    "cluster": 1,
    "secure": false,
    "shell": false,
    "redis": {
        "host": "127.0.0.1",
        "port": 6379,
        "password": ""
    },
    "postgres": {
        "appId": [],
        "database": [{
              "host": "127.0.0.1",
              "port": 5432,
              "user": "postgres",
              "password": ""
         }]
    },
    "oss": {
        "region": "oss-cn-hangzhou",
        "endpoint": "oss-cn-hangzhou.aliyuncs.com",
        "bucket": "",
        "key": "",
        "secret": ""
    },
    "cdn": {
        "domain": "",
        "key": "",
        "secret": "",
        "zc": "https://z.zccdn.cn/ver/1.1/"
    },
    "static": "",
    "sms": {
        "name": "",
		"template": "",
        "key": "",
        "secret": ""
    },
    "mail": {
        "name": "",
        "address": "",
        "host": "smtp.126.com",
        "user": "",
        "pass": ""
    },
    "backup": {
    	"days": 90,
    	"domain": ""
    },
    "mqtt": ""
}

所有组件中除了要求部署包和配置文件放同一机器上外其它都可以安装到其它机器的,比如数据库、MQTT服务等。

nodeName

自定义服务器节点名称,用来区分服务器集群的各个节点。只有MAIN节点会触发定时器执行周期性任务。

appId和appSecret

众触官网申请appIdappSecret,并复制到配置文件的对应位置。请保密,如果别人使用了你的appId和appSecret,那么平台授权费将算到你头上。如果怀疑已经泄密请到众触官网重新生成。

appCenter

填写【应用中心】的域名,建议使用一级域名,这样二级域名就可以分配给各个应用使用,比如众触的zc-app.cn
在域名提供商那里解析域名使之指向此服务器IP,并且此域名的下一级域名*也要作为A记录指向此IP。
secure指是否开启https证书,要开启的话需安装证书后把secure的值改成true。
cluster是进程数,默认只开一个进程;当为0时会根据服务器的CPU内核数来开启多进程。

socket

可选,用于实时数据推送,如众触的wss://zc-app.cn

shell

把shell的值改成true后将可以在后端服务中通过shell(命令, 选项)调用服务器本地的接口或服务,如shell("mkdir folder", { cwd: "/" })在根目录新建一个文件夹,也可以安装了svn后进行代码checkout。功能强大的同时也带来危险性,如非必要请不要开启,要邀请第三方开发者入驻的不应开启,众触官方平台就没开启。

redis

作为缓存能极大地减轻数据库的查询压力。建议和服务器部署在同一地区,甚至同一台机器上,走内网IP。

postgres

核心数据库。建议和服务器部署在同一地区,走内网IP。
可连接多台数据库实例/集群,把不同的应用数据存储到不同的库中。默认appId数组为空,database数组配置一台,业务量增长后再追加数据库。通常database数组项比appId多一项,用来给比appId数组最后一项还大的应用使用。比如appId: [500, 1500],比500小的appId使用第一台数据库,500(含)到1500(不含)之间的appId使用第二台,1500及其以后的appId使用第三台。
还可以进一步把平台的4个database(zc, hist, biz, stat)分别存储到不同的数据库实例中:"database": [ { "zc": {…}, "biz": {}, "hist": {}, "stat": {} }]

oss

可选,阿里云OSS用来存储静态资源(图片/视频/CSS等)。

cdn

可选,建议开通CDN加速,CDN流量费比OSS便宜。
zc是指众触前端资源(js和css)存放的路径,路径的最后一段是版本号,时不时更新版本可以使用最新的众触特性。
半年以上的老版本会被定期删除,如果想固定使用某个旧版本可以把这些资源下载后上传到自己CDN然后指向它。

static

可选,本地静态资源的路径,有了OSS通常就没必要用本地的了。

sms

可选,阿里云短信发送服务器,用来发送手机验证码。

mail

可选,邮件发送服务器,用来验证邮箱地址的有效性。

backup

做数据库备份的节点,每天晚上进行备份,通常选物理上离数据库比较近的节点。days是保留备份数据的天数,根据磁盘剩余空间选取合适的天数;domain是该节点的域名,用于前端读取保留在该节点上的备份文件,如果只有一台服务器则可以不填。其它节点则删除配置信息。

mqtt

可选,用于物联网消息的发布/订阅。如mqtt://localhost:1883

zid/su/jwt

无需配置,将在服务器第一次启动的时候自动生成。
zid是默认生成的官网的appId。访问应用中心和进入开发模式都需要用官网用户的账号登录。
su是平台超级管理员列表,填的是官网的用户ID,已默认添加了一个管理员,手机:13600000000,密码:zcappp。为了安全请重置账号或添加新管理员后删除此账号。
jwt用于加密,请保密,万一泄露请任意更改后重启服务器(用户将被要求重新登录)。

启动服务器

在命令行cd到部署包目录,执行./server-linuxserver-win.exe即可启动。Windows下双击server-win.exe也能启动,但看不到报错日志。
查看是否有报错,比如数据库连不上,解决错误后Ctrl + C退出重启。
作为生产环境的话建议用更高级的启动选项

正常启动后就可以使用appCenter里定的域名来访问了。当然,你可能还需要配置域名安装https证书并开启secure选项

由众触低代码平台生成和驱动