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。
相关推荐
残 风35 分钟前
事务并发机制之两阶段锁篇
数据库·postgresql·开源·数据库开发
文慧的科技江湖1 小时前
光伏储能充电系统PRD功能列表 - 慧知开源充电桩平台
开发语言·开源·netty·慧知开源充电桩平台·开源充电桩平台
飞鸟真人1 小时前
推荐一个开源的IM软件BirdTalk
开源·im·即时通信
lularible1 小时前
PTP协议精讲(2.8):逐链路精准测量——P2P延迟测量机制详解
网络·网络协议·开源·嵌入式·ptp
文慧的科技江湖1 小时前
光储充一体化系统落地 PRD 全功能清单 - 慧知开源充电桩平台
java·mysql·开源·springboot·慧知开源充电桩平台·充电重复订单解决方案源码
人间打气筒(Ada)1 小时前
「码动四季·开源同行」MSF辅助模块使用
开源·端口扫描·nmap·syn·auxiliary模块·服务版本信息探测·metepreter
冬奇Lab13 小时前
一天一个开源项目(第73篇):Multica - 把 AI 编程智能体变成真正的团队成员
人工智能·开源·资讯
提子拌饭13316 小时前
生命组学架构下的细胞分化与基因突变生存模拟器:基于鸿蒙Flutter的情景树渲染与状态溢出防御
flutter·华为·架构·开源·harmonyos
m0_6948455717 小时前
CRUD (Nestjsx)部署教程:自动生成RESTful接口
服务器·人工智能·后端·开源·自动化·restful
a11177619 小时前
汽车展厅项目 开源项目 ThreeJS
前端·开源·html