发布于 

umami使用(网站访问监控)

umami简介

umami是一款非常好用的网站访问监控的工具,可以通过umami获取当前网站在线的用户数量,网站访问情况等等,访问地区浏览器等等信息,当然umami的功能远不止此,但是真心好用

umami源码下载

下载yarn

1
npm install yarn  -g

umami是开源的,直接拉取umami的源代码

1
git clone https://github.com/umami-software/umami.git

安装依赖

进入umami的项目文件夹,安装umami需要的依赖

1
2
cd umami
yarn install

这时候可能会出现一个sharp包会失败,或下载其他包时候出现失败,可以更换一下淘宝镜像:

1
yarn config set registry http://registry.npm.taobao.org/

添加数据库配置文件

umami会把访问数据存储到数据库,所以我们得为umami提供一个存储数据的数据库,umami目前只支持mysql和postgresql

在umami项目根目录下创建配置文件**.env**并编辑配置文件

1
2
touch .env
vim .env

配置文件的内容为

1
DATABASE_URL=(connection url)

connection url的格式为

1
2
3
postgresql://username:mypassword@localhost:5432/mydb

mysql://username:mypassword@localhost:3306/mydb

我这里使用的数据库是mysql,下面是我配置文件的内容,可参考

1
DATABASE_URL=mysql://root:cw.123123@localhost:3306/visitdb

构建umami

1
yarn build

如果在构建过程中出现copy-db-files.js执行出错,请检查上方配置文件中的数据库配置是否正确

运行umami

1
yarn start

后台运行

1
nohup yarn start &
image-20230331102022150

默认运行在3000端口上,默认的账号为admin,密码为umami,登录成功后建议修改密码。

添加网站

点击Add website

image-20230331102322248

输入名称,域名点击保存即可

image-20230331102411693

点击Get tracking code按钮

image-20230331102605170

umami会给一个script标签的内容,内容如下

1
<script async defer data-website-id="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" src="https://umami.stitchcodes.com/umami.js"></script>

我们需要把这个标签复制到网站的主页面的标签中,就可以实现对网站的访问监控了

nginx配置

通过nginx反向代理访问umami时,发现umami无法统计访客所在的国家和ip,这个时候需要反向代理nginx时的配置将来源地址IP一同交给umami程序,如下就是我的nginx配置,仅供参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate "/www/ssl/nginx/stitchcodes.com.cer";
ssl_certificate_key "/www/ssl/nginx/stitchcodes.com.key";
server_name umami.stitchcodes.com;
location / {
proxy_pass http://localhost:3000;
proxy_buffering on;
proxy_http_version 1.1;
proxy_ssl_session_reuse off;
proxy_ssl_server_name on;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
}
location /.well-known/acme-challenge/ {
root /www/ssl/nginx/;
log_not_found off;
}
}



Copyright © 2023 ChenWei | Powered By Stellar
本站已运行 00 小时 00