1. 为什么选择Umami+Docker方案监控网站?
去年接手公司官网运维时,我发现传统Google Analytics存在三个致命问题:数据延迟高达4小时、欧盟访问因隐私协议频繁报错、前端埋点代码拖慢首屏加载速度。经过两周技术选型测试,最终采用Umami+Docker方案实现秒级监控,页面性能提升23%。这种组合特别适合需要轻量化、实时性要求高的中小型站点。
Umami作为开源的现代化网站分析工具,相比传统方案有三大优势:
- 隐私友好:默认不收集PII数据,符合GDPR要求
- 极简架构:单个PostgreSQL表存储所有数据,查询效率比MongoDB高40%
- 可视化灵活:内置7种图表类型,支持自定义事件跟踪
而Docker容器化部署带来以下便利:
- 环境隔离:避免与宿主机Node.js环境冲突
- 快速迁移:镜像打包后可在任意Ubuntu服务器秒级部署
- 资源可控:限制容器内存占用不超过500MB
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖安装
2.1 硬件配置建议
实测数据表明,日PV 10万以下的站点推荐配置:
- CPU:2核(AWS t3.small实例级别)
- 内存:2GB(Umami容器分配512MB)
- 存储:20GB SSD(日志保留30天)
重要提示:避免使用ARM架构服务器,PostgreSQL容器在ARM平台存在兼容性问题
2.2 Ubuntu系统优化
在AWS EC2上执行以下优化命令:
bash复制# 关闭swap以防内存泄漏影响
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
# 调整文件描述符限制
echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
2.3 Docker引擎安装
使用官方推荐的多版本仓库安装:
bash复制# 删除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 设置仓库
sudo apt-get update
sudo apt-get install ca-certificates cu
