Centos7 自建Umami-开源免费的网站访问流量统计分析平台

一、安装docker
sh 复制代码
1.安装前提:
yum -y install gcc gcc-c++
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 			#国外使用
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	#国内使用
yum makecache fast

2.安装和启动
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
systemctl enable docker
ps -ef|grep docker

3.安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v
二、安装Umami网站统计工具
sh 复制代码
1、mkdir /data/umami && cd /data/umami

2、vi docker-compose.yml
注意:国内可以将ghcr.io改为docker.umami.dev
---
version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: replace-me-with-a-random-string
      TRACKER_SCRIPT_NAME: random-string.js
    depends_on:
      - db
    restart: always
  db:
    image: postgres:15-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:/data/postgresql/data
    restart: always
volumes:
  umami-db-data:

3、启用 Docker 容器:
docker compose up -d

此时,打开 http://server_ip:3000即可登录 Umami 开始使用了。
默认账号:admin
默认密码:umami
三、配置nginx反向代理
复制代码
server {
    listen 80;
    server_name tongji.xxxx.com;
    access_log  /data/log/nginx/access_tongji.log;

    location /  {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        # 缓存
        add_header Cache-Control no-cache;
        expires 12h;
    }

}
	#限制后台登录设置
        location /login {
        allow 127.0.0.1;
        allow 本地公网ip;
        #add dynamic
        deny all;
	proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        # 缓存
        add_header Cache-Control no-cache;
        expires 12h;
    }

然后reload nginx,可以加cdn
不要缓存 .jpg;.png;.js;.css,尤其不要缓存js。
相关推荐
小鸡吃米…11 小时前
Python - XML 处理
xml·开发语言·python·开源
FIT2CLOUD飞致云12 小时前
操作教程丨通过1Panel快速安装Zabbix,搭建企业级监控系统
运维·服务器·开源·zabbix·监控·1panel
代码小学僧14 小时前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
一个没有感情的程序猿14 小时前
前端实现人体骨架检测与姿态对比:基于 MediaPipe 的完整方案
机器学习·计算机视觉·前端框架·开源
UtopianCoding16 小时前
什么是NoteDiscovery?Obsidian 的开源平替?
python·docker·开源
CoderJia程序员甲18 小时前
GitHub 热榜项目 - 日榜(2025-12-18)
ai·开源·大模型·github·ai教程
FIT2CLOUD飞致云18 小时前
仪表板和数据大屏支持统一设置数值格式,DataEase开源BI工具v2.10.18 LTS版本发布
开源·数据可视化·dataease·bi·数据大屏
布茹 ei ai18 小时前
QtWeatherApp - 简单天气预报软件(C++ Qt6)(附源码)
开发语言·c++·qt·开源·开源项目·天气预报
tianyuanwo19 小时前
EPEL镜像源:开源生态中的桥梁与SBOM管理的实践
开源·sbom·epel
亿坊电商21 小时前
小团队如何1-2周快速搭建企业级外卖平台?
开源