私有部署

完整平台的私有部署

私有部署是将整个众触平台部署到自己的服务器上,自行运维服务器、数据库和图片视频等资源,需要具有一定的运维能力以保证服务的稳定和数据的安全。

众触平台私有部署以后你将拥有众触平台的完整能力,比如可以创建多个应用,甚至邀请开发者进驻平台而你作为平台方收取平台费用。更进一步,你将拥有比众触官方平台更强大的能力:将可以调用服务器本地的接口/服务(shell命令)。

下载部署包

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

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

配置文件

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

{
    "AppId": "",
    "AppSecret": "",
    "AppCenter": "localhost",
    "Socket": "localhost",
    "Port": 80,
    "Cluster": 1,
    "Secure": false,
    "Shell": false,
    "Redis": {
        "host": "127.0.0.1",
        "port": 6379,
        "password": ""
    },
    "MongoDB": {
        "host": "127.0.0.1",
        "port": 27017,
        "user": "",
        "password": ""
    },
    "PostgreSQL": {
        "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/20240109/"
    },
    "SMS": {
        "name": "",
		"template": "",
        "key": "",
        "secret": ""
    },
    "Mail": {
        "name": "",
        "address": "",
        "host": "smtp.126.com",
        "user": "",
        "pass": ""
    },
    "Node": "MAIN",
    "Backup": {
    	"days": 90,
    	"domain": ""
    },
    "MQTT": "",
    "JWT": {},
    "ZID": "",
    "SU": []
}

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

AppId和AppSecret

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

AppCenter

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

Socket

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

Shell

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

Redis

必选,Redis作为缓存能极大地减轻数据库的查询压力。

MongoDB

必选,众触平台的默认数据库。即使不作为业务数据库也会用来数据统计/编辑历史等。请参考安装文档

PostgreSQL

可选,作为业务数据库的另一个选择。

OSS

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

CDN

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

SMS

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

Mail

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

Node

服务器节点名称,如果是唯一的一台服务器则填MAIN,如果是服务器集群,则其中一个节点填MAIN,其它任意字符。MAIN节点会有定时器做数据统计和清理的任务。

Backup

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

MQTT

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

JWT/ZID/SU

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

启动服务器

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

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

内网

需要私有部署在内网而不能连接外网的,请联系销售。

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