UMAMI隐私统计安装及配置
UMAMI使用nodejs编写,是一个用于替代Google Analytics等第三方统计平台,更专注于用户隐私保护的自建统计项目。
环境
这里使用两种方法去安装umami,第一种是使用pm2或者supervisor直接运行在本机环境的,第二种是使用docker pull并build镜像。
如果已经安装了宝塔,推荐直接运行在本机环境中。
需要准备的有:
- MySQL
- nodejs
- npm
- pm2(或者supervisor)
Ubuntu系列安装Nodejs、npm:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
apt-get install -y nodejs
apt-get install -y npm
Centos系列可以直接使用yum:
yum install node npm -y
MySQL建议查看其他博客的安装及配置。
如果您选择使用docker安装,那么仅需这样的一步:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内daocloud的脚本:
curl -sSL https://get.daocloud.io/docker | sh
安装及配置
如果您需要使用docker进行安装,请直接转到docker方式章节。
安装
git clone https://github.com/mikecao/umami.git
cd umami
npm install
导入数据库
mysql -u username -p databasename < sql/schema.mysql.sql
我这里就直接在PMA中执行了
配置.env
DATABASE_URL=mysql://username:mypassword@localhost:3306/databasename
HASH_SALT=随机生成
optimize&build
在umami目录下执行:npm run build
即可生成编译后的工程文件
启动程序
按照官方readme说的直接npm start
是可以的,默认会运行在3000,但是我们如果关闭了终端会话,也会停止运行,
所以需要使用PM2或者supervisor进行后台保活运行,当然,也可以使用nohup。
如果我们使用的是第一种本机环境运行,那么可以通过npm安装pm2:npm install pm2 -g
在umami目录下执行:
pm2 start npm --name umami -- start
pm2 startup
pm2 save
由于服务器上已经有宝塔和pm2管理器了,所以我并不打算使用命令行添加。
docker方式
安装
注意,如果您选择docker方式,那么您可以完成后直接跳过安装及配置这一章
首先您需要docker环境,上述步骤已经提供了脚本。
然后执行docker-compose up
确保服务已经启动。
我们这里使用MySQL作为数据库后端:
docker pull ghcr.io/mikecao/umami:mysql-latest
稍微等待数十分钟即可启动,默认占用端口3000。
升级
docker-compose pull
docker-compose up --force-recreate
域名反代
在nginx.conf中的http段下添加:
server{
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1: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;
}
}
或者宝塔,网站管理,反向代理
即可。
文件修改及更新
假如你按照前面的pm2运行,那么按照如下步骤
- 执行
pm2 stop umami
停止其运行。 - 切换到你的umami目录pull一份最新的代码
git pull
- 重新安装node modules
npm install
- 重新编译
npm run build
- 重新启动PM2
pm2 restart umami
根据参考博文中提到的更新失败可以执行git reset --hard
使用
首次登录
默认账号admin,密码umami
添加统计网站
获取统计代码
查看统计
由于我并没有打算立刻使用umami,使用官方的图做一个收尾吧:
参考
- https://github.com/mikecao/umami
- https://www.himiku.com/archives/umami.html