快速上手umami自建网站流量统计分析工具
简介
如果需要统计博客访问的相关数据,一般会选择「百度统计」或是「谷歌分析」。前者面向中文用户,在数据展示上会更加直观;后者全球通用,功能丰富数据详细,只是需要一定的学习成本。
当然,你也可以尝试自己搭建一个统计工具,将数据完全掌握在自己的手里。比如使用「Umami」。
安装
Umami提供了两张安装方式,使用Docker或从源代码安装,我们这里使用源代码安装。
安装Node.js、npm
注意:Node.js 版本需要大于12
例行升级一下
sudo apt update
sudo apt upgrade
正式开始安装
# 进入根目录
cd ~
# 下载安装脚本
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
# 检查脚本(可跳过)
nano nodesource_setup.sh
# 升级Ubuntu自带的Node.js包
sudo bash nodesource_setup.sh
# 安装Node.js
sudo apt install nodejs
# 查看Node.js版本
node -v
下载Umami
# 从GitHub下载源代码
git clone https://github.com/mikecao/umami.git
# 进入umami根目录
cd umami
# 安装umami
npm install
创建数据库
[root@host] mysql -u root -p
Enter password:****** # 登录后进入终端
// 新建一个名为umami的数据库
mysql> create DATABASE umami;
// 将表导入数据库
mysql -u username -p databasename < sql/schema.mysql.sql
username
一般是 root
,databasename
就是你创建的空数据库的名字,具体例子是:
mysql -u root -p umami < sql/schema.mysql.sql
创建配置文件
在 umami
目录中新建一个.env
的配置文件,填入:
DATABASE_URL=(connection url)
HASH_SALT=(any random string)
其中,connection url
需要填入:
mysql://username:mypassword@localhost:3306/mydb
而 any random string
填入的是随机字符串,完整的例子是:
DATABASE_URL=mysql://username:mypassword@localhost:3306/umami
HASH_SALT=jN9LJjkxg_i..eXx4
如果想排除统计自己的IP地址,可以加上:
IGNORE_IP = XXX.XXX.XXX.XXX
更多变量设置请查看官方文档
编译
npm run build
启动程序
通常使用 npm start
就可以直接启动,但是退出 ssh
之后就直接停止运行了,所以需要用一些工具保证后台运行,官方文档中的推荐是:
npm install pm2 -g
cd umami
pm2 start npm --name umami -- start
pm2 startup
pm2 save
Nginx 反向代理
因为可以使用 ip:3000
直接访问,但是有使用域名的话还可以反代一下,这里以 Nginx 举例。在 server
段加入配置:
server {
server_name umami.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
更新 Umami
首先停止运行
pm2 stop umami
获取更新(In order to get the latest updates, first pull the changes from the git repository:)
git pull
Then install any new or updated dependencies:
npm install
重新编译
npm run build
Finally, start the application:
npm run start
开始使用
umami默认用户名为admin
,密码为umami
。
PM2
PM2 工具可以用来守护进程(当然Systemctl
也可以),PM2 能守护的东西很多,例如:Node.js、Python、PHP、Ruby、perl,还有消息队列程序、Shell脚本等等。
常用命令
pm2 list # 查看所有运行中的应用
pm2 stop 0 # 停止 id 为 0 的应用
pm2 restart # 重启
pm2 delete 0 # 删除 id 为 0 的应用
pm2 monit # 显示每个应用程序的CPU和内存占用情况
pm2 show [name] # 显示应用程序的所有信息
pm2 save # 保存当前应用列表
pm2 startup # 创建开机自启动命令
参考
官方网站/文档: https://umami.is/docs/about
官方GitHub: https://github.com/mikecao/umami
How To Install Node.js on Ubuntu 20.04:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04
APT BLOG: https://atpx.com/blog/build-umami-web-analytics/
来用 Umami 自建统计工具吧!: https://www.himiku.com/archives/umami.html
评论已关闭