产品介绍

JefCounts 是一个轻量级的网站访问统计系统,帮助您了解网站的访问情况。

这是什么

JefCounts 能帮你了解网站的访问情况,包括有多少人访问、从哪里来、用什么设备等基本信息。数据完全存储在您自己的服务器上,保护隐私安全。

为什么选择我们

  • 简单易用 - 5分钟完成安装,界面清爽直观
  • 数据自主 - 数据存储在自己服务器,完全掌控
  • 轻量高效 - 不影响网站性能,响应速度快
  • 功能齐全 - 基础统计功能完备,满足日常需求

功能特点

基础统计

  • 📊 页面浏览量(PV)统计
  • 👥 独立访客数(UV)统计
  • 🔗 访客来源分析(搜索引擎、直接访问、外部链接)
  • 📍 访客地理位置统计(省份、城市)
  • 💻 设备类型统计(电脑、手机、平板)
  • 🌐 浏览器和操作系统统计

实用功能

  • 多站点管理 - 一个后台管理多个网站的统计
  • 机器人过滤 - 自动过滤搜索引擎爬虫和AI机器人
  • 时间筛选 - 支持今天、昨天、本周、本月或自定义时间段
  • 数据清理 - 可定期清理旧数据,节省空间

系统要求

服务器环境

  • PHP:7.4 或更高版本
  • MySQL:5.7 或更高版本
  • PDO扩展:必须开启
  • 磁盘空间:约50MB(不含数据)

推荐配置

配置 日均PV 并发访问 适用场景
1核1G 5,000 - 10,000 10-20人 个人博客、小型网站
2核2G(推荐) 20,000 - 50,000 50-100人 中小型网站、多个博客
2核4G 50,000 - 100,000 100-200人 访问量较大的网站

安装部署

步骤一:上传文件

将下载的系统文件解压后,上传到您的服务器。可以使用FTP工具或宝塔面板上传。

步骤二:设置运行目录

⚠️ 重要:请将网站运行目录设置为 public 文件夹,这是安全配置的重要步骤。

宝塔面板设置方法:

  1. 进入宝塔面板
  2. 找到对应的网站
  3. 点击"设置" → "网站目录"
  4. 将运行目录改为 /public
  5. 保存设置

步骤三:访问安装向导

在浏览器中访问您的域名,系统会自动进入安装向导。按照提示完成以下配置:

  1. 数据库信息 - 填写MySQL数据库地址、用户名、密码
  2. 管理员账号 - 设置管理员用户名和密码
  3. 站点信息 - 填写网站名称和域名
✅ 完成!安装成功后,您可以使用管理员账号登录后台。

升级教程

从旧版本安全升级到新版本的完整指南

升级前准备

⚠️ 重要:升级前务必备份项目文件!数据库在MySQL中独立存储,不会被文件覆盖影响,无需备份。

1. 备份项目文件

选择以下任一方式备份整个项目目录:

宝塔面板用户:

  1. 登录宝塔面板
  2. 进入"文件"管理
  3. 找到项目目录(如 /www/wwwroot/your-site/
  4. 右键点击文件夹 → 选择"压缩"
  5. 等待压缩完成,生成备份压缩包

命令行用户:

# 备份项目目录 tar -czf jefcounts-backup-$(date +%Y%m%d-%H%M%S).tar.gz /www/wwwroot/your-site/ # 将备份文件移到安全位置 mv jefcounts-backup-*.tar.gz ~/backups/

2. 检查系统版本

登录后台,在页面底部查看当前版本号,确认需要升级到哪个版本。

下载升级包

  1. 访问 版本下载页面
  2. 找到目标版本,点击"升级包"按钮下载
  3. 在本地电脑解压下载的升级包
💡 提示:升级包已自动排除配置文件(config.php、admin.json等),直接覆盖不会影响现有配置。

上传并覆盖文件

选择以下任一方式上传升级文件:

方式一:FTP/SFTP 工具上传(推荐)

  1. 打开 FileZilla、WinSCP 或其他FTP工具
  2. 连接到您的服务器
  3. 定位到项目根目录
  4. 选择本地解压后的所有文件
  5. 拖拽上传到服务器
  6. 在弹出的对话框中选择"覆盖"所有文件
  7. 等待上传完成

方式二:宝塔面板拖拽上传

  1. 登录宝塔面板
  2. 进入"文件"管理
  3. 打开项目目录
  4. 直接将本地文件拖拽到浏览器窗口中
  5. 选择"覆盖"已存在的文件
  6. 等待上传完成

方式三:上传压缩包后解压

  1. 将升级压缩包上传到服务器(可以上传到项目目录或临时目录)
  2. 在服务器上解压文件
  3. 将解压后的文件复制到项目目录并覆盖
# 解压升级包 unzip JefCounts-v1.1.4-upgrade.zip -d /tmp/upgrade/ # 覆盖到项目目录 cp -rf /tmp/upgrade/* /www/wwwroot/your-site/ # 清理临时文件 rm -rf /tmp/upgrade/

验证升级结果

  1. 清除浏览器缓存 - 按 Ctrl + F5(Windows)或 Cmd + Shift + R(Mac)强制刷新
  2. 检查版本号 - 登录后台,查看页面底部版本号是否已更新
  3. 测试功能 - 点击各个菜单,确认功能正常
  4. 查看数据 - 检查统计数据是否正常显示
✅ 升级成功!系统已成功升级到新版本,所有功能正常运行。

升级失败?快速回滚

如果升级后出现问题,可以快速回滚到之前的版本:

回滚步骤

  1. 删除当前文件
    • 宝塔面板:删除项目目录(或重命名为 项目名_backup
    • 命令行:rm -rf /www/wwwroot/your-site/
  2. 恢复备份
    • 找到之前创建的备份压缩包
    • 宝塔面板:右键备份包 → "解压"
    • 命令行:tar -xzf jefcounts-backup-*.tar.gz -C /www/wwwroot/
  3. 刷新页面 - 清除缓存并刷新,系统恢复到升级前状态

升级注意事项

✅ 必须做的事

  • 备份项目文件(打包整个项目目录)
  • 记录当前版本号
  • 使用升级包而非完整安装包
  • 升级后清除浏览器缓存
  • 测试所有功能后再删除备份

❌ 不需要做的事

  • 备份数据库(数据库在MySQL中独立存储)
  • 手动修改配置文件(升级包已排除配置)
  • 重新安装系统
  • 重新配置站点

⚠️ 常见问题

Q: 升级会丢失数据吗?

A: 不会。数据存储在MySQL数据库中,升级只是替换PHP程序文件,不会影响数据库。

Q: 升级包和完整包有什么区别?

A: 升级包排除了配置文件和用户数据,体积更小,适合已安装用户。完整包包含所有文件,适合首次安装。

Q: 可以跨版本升级吗?

A: 可以。例如从 v1.0.0 直接升级到 v1.1.4。建议查看版本更新日志了解所有变更。

Q: 升级失败了怎么办?

A: 删除当前项目目录,解压备份文件即可立即恢复。这就是为什么升级前必须备份的原因。

Q: 需要停止网站服务吗?

A: 不需要。升级过程很快(通常1-2分钟),访客可能会短暂遇到错误,刷新即可恢复。

升级后优化建议

  • 清理缓存 - 清理浏览器和服务器缓存
  • 检查日志 - 查看系统日志是否有错误
  • 性能测试 - 观察系统响应速度
  • 保留备份 - 运行稳定一段时间后再删除备份文件

基础配置

添加站点

登录后台后,您可以添加要统计的网站:

  1. 进入"站点管理"
  2. 点击"添加站点"
  3. 填写站点名称和域名
  4. 保存后获取统计代码

配置选项

  • 是否过滤机器人 - 建议开启,过滤爬虫访问
  • 数据保留天数 - 建议180-365天
  • 时区设置 - 选择正确的时区

网站集成

添加统计代码

在需要统计的网页的 </body> 标签前添加以下代码:

<!-- JefCounts 统计代码 --> <script src="https://your-domain.com/assets/js/analytics.js" defer></script>
💡 提示:请将 your-domain.com 替换为您的实际域名。统计代码可以在后台"站点管理"中获取。

验证是否生效

  1. 添加统计代码后,访问您的网站
  2. 等待1-2分钟
  3. 登录后台查看是否有新的访问记录

使用指南

查看统计数据

登录后台后,您可以看到:

  • 概览页面 - 显示PV、UV、独立IP等核心指标
  • 来源统计 - 查看访客来自哪里
  • 地区统计 - 查看访客地理位置分布
  • 设备统计 - 查看访客使用的设备和浏览器
  • 页面统计 - 查看哪些页面最受欢迎

时间筛选

支持以下时间范围:

  • 今天
  • 昨天
  • 近7天
  • 近30天
  • 自定义时间段

常见问题

Q: 统计代码会影响网站速度吗?

A: 不会。统计脚本小于1KB,采用异步加载(defer),不会阻塞页面渲染。

Q: 数据是实时更新的吗?

A: 访问数据会立即记录,后台统计有1-2分钟的缓存延迟。

Q: 可以统计多个网站吗?

A: 可以。系统支持多站点管理,在后台添加多个站点即可。

Q: 如何清理旧数据?

A: 在后台"系统设置"中可以设置数据保留天数,系统会自动清理超过期限的数据。

Q: 忘记管理员密码怎么办?

A: 可以通过数据库直接修改,或联系技术支持获取帮助。