Vercel免费托管Umami

本文利用 Vercel 的免费额度和 Neon 提供的免费 PostgreSQL,把整套 Umami 跑起来,包含 Fork 仓库、导入项目、创建数据库、部署、获取追踪代码、绑定自定义域名等完整流程,全程零成本、零服务器。

网络
1,051 字 | 6 分钟阅读
Vercel免费托管Umami

前言:Umami 是一个简单、快速、注重隐私的网站分析工具。它提供实时的网站访问统计、用户行为分析等功能。
例如本博客所采用的评论点赞等都使用到Umami进行数据收集。
当我们手头缺失服务器,或者在没有情况下本机部署Umami时,可以使用Vercel进行免费部署


准备工作

首先我们需要拥有一个Github的账户,以及一个Vercel的账户和可访问国际互联网的环境

一、在Github Fork Umami

  1. 首先打开浏览器
  2. 在登陆Github账户的情况下打开Umami官方仓库 https://github.com/umami-software/umami/fork
  3. 根据官方指引填写仓库名,保持默认的 umami 就行,然后点 Create fork
  4. 等几秒,浏览器页面跳转到你自己的 你的用户名/umami,这一步就完成了

后面如果 Umami 更新了,你也可以在自己的仓库里点 Sync fork 拉取新代码,Vercel 会自动重新部署。

二、在 Vercel 导入项目

  1. 登陆 Vercel,进入控制台
  2. 点右上角的 Add New... → Project
  3. 在 Import Git Repository 里找到刚才 Fork 的 umami,点 Import
  4. Framework Preset 会自动识别成 Next.js,不用动
  5. 先别急着点 Deploy,因为 Umami 需要一个数据库才能跑起来,没有 DATABASE_URL 直接部署的话,构建会直接失败

三、准备一个 PostgreSQL 数据库

Umami 支持 PostgreSQL 和 MySQL,在 Vercel 上最省事的是用 Neon,它免费额度基本上够个人用了。

  1. 在 Vercel 项目页面点顶部的 Storage 标签
  2. 点 Create Database,选择 Neon
  3. 区域选离你主要访问者近的,比如 Singapore 或者 US East
  4. 计划选 Free,名字随便起,比如 umamidb
  5. 点 Create,创建完之后在弹窗里点 Connect,把数据库连接到当前项目(就是你创建那个)

连接完成后 Vercel 会自动往项目里注入 DATABASE_URL 环境变量,不需要自己复制粘贴。如果你是自己在 Neon 官网建的库,那就手动把连接串加到环境变量里。

四、部署

  1. 回到 Deployments 标签,点 Create Deployment,选择 main(或者 master)分支
  2. 等构建完成,第一次构建时 Umami 会自动在数据库里建表,同时创建一个默认管理员账号
  3. 构建成功后点域名,打开 xxx.vercel.app

默认登录账号密码是:

用户名:admin
密码:umami

登录后第一件事就是去左上角改密码,不然谁拿到你的域名都能进后台!!!!

五、添加网站并获取追踪代码

  1. 进后台点 Settings → Websites → Add website
  2. Name 填网站名字,Domain 填你的域名,比如 blog.muhan.wiki,不要带 https://
  3. 保存后点这个网站,切到 Tracking code 标签,能看到类似这样的代码:
<script
  defer
  src="https://你的域名/script.js"
  data-website-id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
></script>
  1. 把这段代码加到博客的 <head> 里,或者用你博客框架提供的注入方式

加完之后刷新博客页面,回到 Umami 后台,能看到实时访客数动起来就说明接好了。

六、绑定自定义域名(可选)

xxx.vercel.app 在国内访问速度一般,而且不少广告拦截插件会直接屏蔽这个域名。建议绑一个自己的子域名,比如 umami.muhan.wiki。

  1. 项目 Settings → Domains → Add Domain
  2. 填入 umami.muhan.wiki
  3. 按提示去 DNS 服务商添加一条 CNAME 记录,指向 cname.vercel-dns.com
  4. 等 DNS 生效,Vercel 会自动签发证书

绑好之后把追踪代码里的 src 换成新域名就行。

几点提醒

  • Vercel 免费版(Hobby)只允许非商业用途,纯个人博客没问题,但如果哪天要给商用站点做统计,按条款得升级到 Pro
  • Neon 免费额度是按存储和计算时长算的,个人博客一天几千 PV 完全够用;如果流量特别大,反而自建一台小 VPS 跑 Docker 更划算
  • Serverless 有冷启动,长时间没人访问后第一次打开后台会慢几秒,属于正常现象
  • 数据在别人的库里,Umami 虽然注重隐私,但数据毕竟是存在 Neon 上的,介意的话建议自建

评论