网站统计——利用开源的网站流量分析统计工具

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 网站统计——利用开源的网站流量分析统计工具

前言

github: umami仓库

umami: umami官网

demo: umami演示

机器配置: 轻量服务器(2C1G SSD 40GB)

内容

docker方式安装

通过docker方式安装 | 如果是需要调用一些api接口建议使用原生态;

docker安装

# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# systemctl start docker
# systemctl enable docker

docker-compose安装

# curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose --version

docker-compose.yml

---
version: '3'
services:
  umami:
    image: ghcr.io/mikecao/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: replace-me-with-a-random-string
    depends_on:
      - db
    restart: always
  db:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - umami-db-data:/var/lib/postgresql/data
    restart: always
volumes:
  umami-db-data:

启动

# docker-compose up -d && docker-compose logs -f

原生态方式

这个是为了配合博皮使用,因为要调两个接口需要改下代码,正常使用推荐直接docker启动,不用看这块代码

克隆

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

配置.env文件

!> 请确保这块配置且可连接成功再进行下一步操作

# cd umami/
# vi .env
# DATABASE_URL=mysql://<username>:<password>@127.0.0.1:3306/<databaseName>
// 示例 || 你也可以选择直接使用root账户
DATABASE_URL=mysql://umami:umamipassword@127.0.0.1:3306/umami

修改代码

?> 我是直接将认证那块注释了

# pages/api/website/[id]/stats.js
# pages/api/website/[id]/active.js

编译项目

# yarn install
# yarn build
# yarn update-db

PM2

帮助命令 | pm2 --help

# npm install -g pm2
# pm2 start yarn --name umami -- start 
# pm2 startup
# pm2 save

配置Nginx

这块是只针对源码启动的配置

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;
  }  
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    proxy_pass http://localhost:3000;
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    proxy_pass http://localhost:3000;
    expires 7d;
    access_log off;
  }
  location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
    deny all;
  }

!> 如果涉及到需要请求一些API,获取数据,比如我这边集成到博皮,那就还需要对nginx增加以下配置

location ~* api/share {
    ## 如果是自己站点使用,这块建议使用自己域名通配符而不是*
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET,POST,PUT,DELETE,PATCH,OPTIONS';
    add_header Access-Control-Allow-Headers "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-umami-share-token";
    if ($request_method = 'OPTIONS') {
         return 204;
    }
    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;
  } 
  location ~* api/website/.*/active {
   if ($request_method = 'OPTIONS') {
         return 204;
    }
    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;
  }

访问

默认账户/密码: admin/umami

配置

验证

学无止境,谦卑而行.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
存储 关系型数据库 对象存储
|
程序员
支付宝接口申请步骤
这是提供给客户申诉支付宝接口的说明:   1、申请taobao或支付宝帐号 申请地址:https://memberprod.alipay.com/account/reg/enterpriseIndex.htm2、填写账户信息3、企业实名认证4、注册成功5、开通“即时到帐收款”功能,申请地址:https://b.alipay.com/order/productDetail.htm?productId=2015110218012942 要求:5.1.申请前已完成支付宝账户实名认证; 5.2.企业类型及可提供营业执照的个体工商户可申请。
3053 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255019 0
|
11月前
|
存储 安全 数据安全/隐私保护
在阿里云快速启动Umami玩转网页分析
本文介绍了Umami的基本信息,并通过阿里云计算巢完成了Umami的快速部署,使用者不需要自己下载代码,不需要自己安装复杂的依赖,不需要了解底层技术,只需要在控制台图形界面点击几下鼠标就可以快速部署并启动Umami,非技术同学也能轻松搞定。
|
11月前
|
安全 网络协议 Java
Java 网络编程详解
《Java网络编程详解》深入浅出地讲解了使用Java进行网络编程的技术和方法。从基础的网络协议介绍到核心的Socket编程,以及高级的NIO与多线程应用,帮助读者全面掌握Java网络编程技能,是Java开发者不可或缺的学习指南。
409 8
|
Rust 安全 算法
揭秘Rust语言如何重塑区块链安全:打造坚不可摧的分布式账本新篇章!
【8月更文挑战第31天】自比特币诞生以来,区块链技术凭借其去中心化和不可篡改的特点备受关注。为了应对安全性挑战,Rust 语言凭借其内存安全特性逐渐成为区块链开发的优选。本文探讨了 Rust 如何助力区块链实现更安全的分布式账本。通过示例展示了 Rust 在避免内存泄漏、空指针引用及数据竞争等方面的优势,预示着 Rust 在高性能、高安全性需求的区块链应用中拥有广阔前景。
318 2
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
1414 1
|
存储 对象存储
【阿里云OSS】You have no right to access this object because of bucket acl.
【阿里云OSS】You have no right to access this object because of bucket acl.
17909 1
【阿里云OSS】You have no right to access this object because of bucket acl.
|
存储 监控 Ubuntu
Linux系统之GoAccess实时Web日志分析工具的基本使用
【5月更文挑战第22天】Linux系统之GoAccess实时Web日志分析工具的基本使用
470 1
|
Docker 容器
『Docker Compose』使用国内镜像极速安装Docker Compose
📣读完这篇文章里你能收获到 - 使用国内镜像极速安装Docker Compose
21223 0
『Docker Compose』使用国内镜像极速安装Docker Compose