This article was rewritten on 2024-7-5
前言#
很早之前就想過拋棄谷歌統計,主要是功能太多而且很多對我這個小博客來說用不上,早在今年初就聽說過 umami 的自建統計了,只不過那個時候的 v1 版本有點問題一直連接不上數據庫導致部署失敗所以作罷,最近發現 umami 出了 v2,重新嘗試了一下成功了,下面我就把我的過程分享出來
準備#
首先 umami 使用的是 nextjs 框架,所以你可以選擇部署在 vercel, 同時需要一個數據庫來存儲統計數據,支持 mysql 或者 postgresql,我這邊使用的是 supabase 托管的 postgresql 數據庫,具體的取決你,可以參考一下他們的文檔
部署#
-
fork umami 的倉庫,之後進入 vercel 導入 umami 的倉庫
-
一般 vercel 會自動幫你選擇好框架和構建命令等所以這些不用管,然後在環境變量選項新建一個變量,名字叫
DATABASE_URL
, 變量值填寫上你的數據庫連接的域名,比如說 postgres://postgres:[YOUR-PASSWORD]@host:6543/postgres
對於 supabase 數據庫#
如果使用 supabase 托管的數據庫需要前往倉庫的db/postgresql/schema.prisma
這個路徑修改參數,加上directUrl = env("DIRECT_DATABASE_URL")
然後在 vercel 部署那除了添加DATABASE_URL
以外還需要添加一個DIRECT_DATABASE_URL
的環境變量,值為使用連接池的選項Connection Pooling
說人話就是,DATABASE_URL 那填連接端口為 6543 的連接字符串,DIRECT_DATABASE_URL 就是填 5432 端口的連接字符串
使用#
部署成功之後,登錄進管理面板,轉到設置
新建一個網站,名字隨便,域名寫你的網站域名
對於 hexo#
然後將他的 js 片段插入到 inject 的 bottom 之中然後 hexo 三連,就可以使用啦~
然後你還可以創建一個共享頁面用來當做博客的訪客統計界面,本站的訪問統計便是使用該功能實現的
對於 mix-space#
已經有人寫了,不再贅述:https://blog.nekorua.com/posts/mx-space/118.html
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://blog.xiaohan-kaka.me/posts/default/umami