外观
3.3 发布步骤
约 599 字
可视化面板
本页对应「三、操作步骤」的 3.3,把面板构建产物发布到站点子路径,校验资源前缀、缓存策略与访问权限,并保留可回退的上一版。返回上级:可视化面板。
前置条件
- 3.2 的图表配置已通过本地验证,数据文件可正常读取。
- 站点根目录为
/srv/axis,子路径example.com/dashboard/未被占用。 - 已确认面板是否需要访问控制;需要时先在站点配置中准备好认证方式。
操作步骤
- 构建面板,显式设置子路径前缀,避免资源引用到站点根:
cd /srv/axis/dashboard-src
node build.js --base=/dashboard/ --out=/srv/axis/public/dashboard
ls /srv/axis/public/dashboard | head- 检查产物中的资源引用,确认全部带
/dashboard/前缀或为相对路径:
grep -oE '(src|href)="[^"]+"' /srv/axis/public/dashboard/index.html | head -n 20
grep -c '="/assets/' /srv/axis/public/dashboard/index.html- 发布前备份上一版,再切换目录,保留回退路径:
ts=$(date '+%Y%m%d%H%M')
if [ -d /srv/axis/public/dashboard ]; then
mv /srv/axis/public/dashboard "/srv/axis/backup/dashboard-$ts"
fi
cp -a /srv/axis/dashboard-dist /srv/axis/public/dashboard- 设置缓存策略并验证线上可访问:
curl -sS -o /dev/null -w "%{http_code}\n" https://example.com/dashboard/
curl -sS -D - -o /dev/null https://example.com/dashboard/data/summary.json \
| awk 'BEGIN{IGNORECASE=1} /^(cache-control|content-type|age):/'结果确认
- 页面返回 200,
<title>为面板标题,无 404 的资源请求。 grep -c '="/assets/'结果为 0,说明没有引用站点根下的资源。- 数据文件响应头中缓存时长较短,页面文件可长缓存。
- 面板中的数值与
jq直接读取summary.json的结果一致。 - 需要访问控制时,未携带凭据的请求返回 401 或跳转登录。
注意事项
- 发布用整体目录替换,不要逐个文件覆盖,避免新旧文件混用。
- 数据文件加版本参数或短缓存,否则面板会长期显示旧数据。
- 回滚时把备份目录换回原路径即可,回滚后同样执行本节验证。
- 发布前确认数据文件与页面来自同一次构建,先发布面板资源、再更新数据文件,避免页面已经换成新版而数据结构仍是旧的。
- 发布记录写明版本号与时间,面板显示异常时先比对发布时间与数据更新时间,再判断是发布问题还是采集问题。