You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在DigitalOcean的Nginx-Django环境中安装配置Plausible Analytics

在DigitalOcean上为Django应用安装Plausible Analytics并配置子路径访问

一、安装Plausible Analytics(Docker部署)

1. 安装Docker和Docker Compose

如果服务器还没安装Docker环境,执行以下命令:

# 更新系统包
sudo apt update && sudo apt upgrade -y

# 安装依赖工具
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 配置Docker软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker及Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

# 验证安装成功
docker --version
docker compose version

2. 创建Plausible配置文件

创建专属目录存放Plausible的配置和数据:

mkdir -p ~/plausible && cd ~/plausible

创建docker-compose.yml文件:

nano docker-compose.yml

粘贴以下内容:

version: "3.3"
services:
  plausible_db:
    image: postgres:14-alpine
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
    restart: always

  plausible_events_db:
    image: clickhouse/clickhouse-server:23.3-alpine
    volumes:
      - event-data:/var/lib/clickhouse
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    restart: always

  plausible:
    image: plausible/analytics:latest
    command: sh -c "sleep 10 && /entrypoint.sh db init && /entrypoint.sh run"
    depends_on:
      - plausible_db
      - plausible_events_db
    ports:
      - 127.0.0.1:8000:8000
    volumes:
      - plausible-config:/app/config
    environment:
      - DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
      - CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
      - BASE_URL=${BASE_URL}
      - SECRET_KEY=${SECRET_KEY}
      - ADMIN_USER_EMAIL=${ADMIN_USER_EMAIL}
      - ADMIN_USER_NAME=${ADMIN_USER_NAME}
      - ADMIN_USER_PWD=${ADMIN_USER_PWD}
    restart: always

volumes:
  db-data:
  event-data:
  plausible-config:

创建环境变量配置文件.env:

nano .env

修改以下参数为你的实际信息:

# 必须设置为你的域名+子路径
BASE_URL=https://mydomain.com/plausible
# 管理员账号信息
ADMIN_USER_EMAIL=your-admin-email@example.com
ADMIN_USER_NAME=your-admin-username
ADMIN_USER_PWD=your-strong-admin-password
# 生成随机密钥:执行 openssl rand -base64 64 获取
SECRET_KEY=your-random-secret-key-generated-by-openssl

保存并退出编辑器(按Ctrl+O确认,回车,再按Ctrl+X)。

3. 初始化并启动Plausible

先初始化数据库:

docker compose run --rm plausible db init

启动所有服务:

docker compose up -d

检查服务运行状态:

docker compose ps

当plausible、plausible_db、plausible_events_db的状态都显示up时,说明服务启动成功。

二、修改Nginx配置实现子路径访问

找到你的Django应用对应的Nginx配置文件(通常位于/etc/nginx/sites-available/或/etc/nginx/conf.d/目录下,比如mydomain.conf),编辑该文件:

sudo nano /etc/nginx/sites-available/mydomain.conf

1. 添加Plausible反向代理配置

在server块中,放在Django应用的location /配置之后,添加以下内容:

# Plausible Analytics 子路径反向代理
location /plausible {
    proxy_pass http://localhost:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # 代理静态资源
    location /plausible/static {
        proxy_pass http://localhost:8000/static;
        proxy_cache_bypass $http_upgrade;
    }

    # 代理API接口
    location /plausible/api {
        proxy_pass http://localhost:8000/api;
        proxy_cache_bypass $http_upgrade;
    }

    # 代理事件上报接口(支持POST请求)
    location /plausible/event {
        proxy_pass http://localhost:8000/event;
        proxy_cache_bypass $http_upgrade;
    }
}

2. 验证配置并重启Nginx

检查Nginx配置是否存在语法错误:

sudo nginx -t

如果输出nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置没问题,重启Nginx生效:

sudo systemctl restart nginx

三、验证访问与集成统计代码

  1. 访问https://mydomain.com/plausible,使用之前设置的管理员账号登录,即可进入Plausible仪表盘。
  2. 在Django应用中添加统计代码:打开你的Django基础模板(比如base.html),在<head>标签内添加:
<script defer data-domain="mydomain.com" src="/plausible/js/plausible.js"></script>

如果需要跟踪子域名或自定义事件,可调整data-domain参数或添加额外配置。

内容的提问来源于stack exchange,提问作者FabianxS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:30:57