Hugo博客公告弹窗

nginxpulse日志分析工具安装教程

项目:https://github.com/likaia/nginxpulse

系统:debian12

下载并解压

  1. 进入临时目录并下载:

    cd /tmp
    wget https://github.com/likaia/nginxpulse/releases/download/v1.5.3/nginxpulse-v1.5.3-linux-amd64.tar.gz
    
  2. 解压文件:

    tar -zxvf nginxpulse-v1.5.3-linux-amd64.tar.gz
    

    解压后会得到一个名为 nginxpulse-linux-amd64 的文件。

安装并设置权限

  1. 创建安装目录并移动文件:

    sudo mkdir -p /opt/nginxpulse
    sudo mv nginxpulse-linux-amd64 /opt/nginxpulse/
    
  2. 赋予执行权限:

    sudo chmod +x /opt/nginxpulse/nginxpulse-linux-amd64
    

创建配置文件

创建 configs 目录

mkdir -p /opt/nginxpulse/configs

创建配置文件

配置文件是重点,如果你使用我之前日志中心的方式,那么可以使用以下脚本生成数组

脚本

curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/gen_config.sh && chmod +x gen_config.sh

指定路径输出

./gen_config.sh -p /data/nginx_logs/active -o /opt/nginxpulse/configs/nginxpulse_config.json

或者手动编辑

sudo nano /opt/nginxpulse/configs/nginxpulse_config.json

粘贴以下内容,你需要手动修改站点日志路径,和访问密码

{
  "websites": [
    {
      "name": "HostA 主站",
      "logPath": "/data/nginx_logs/active/hostA/*-access.log*",
      "domains": ["hostA.com"]
    },
    {
      "name": "HostB 主站",
      "logPath": "/data/nginx_logs/active/hostB/*-access.log*",
      "domains": ["hostB.com"]
    }
  ],
  "system": {
    "logDestination": "file",
    "taskInterval": "1m",
    "logRetentionDays": 30,
    "demoMode": false,
    "accessKeys": ["123456qq"],
    "language": "zh-CN"
  },
  "server": {
    "Port": ":8088"
  },
  "pvFilter": {
    "statusCodeInclude": [
      200,
      204,
      301,
      302
    ],
    "excludePatterns": [
      "^/(?:api|ajax)/",
      "^/index\\.php/ajax/",
      "^/index\\.php/user/ajax_ulog$",
      "^/health$",
      "^/_(?:nuxt|next)/",
      "favicon\\.ico$",
      "robots\\.txt$",
      "sitemap\\.xml$"
    ],
    "excludeIPs": [
      "127.0.0.1",
      "::1"
    ]
  }
}

配置 Systemd 服务

放行防火墙,例如

ufw allow 8088/tcp
  1. 创建服务文件:

    sudo nano /etc/systemd/system/nginxpulse.service
    
  2. 粘贴以下内容(注意 ExecStart 指向的是你解压出来的文件名):

    [Unit]
    Description=NginxPulse Analytics Service (Binary Release)
    After=network.target
    
    [Service]
    Type=simple
    User=root
    WorkingDirectory=/opt/nginxpulse
    ExecStart=/opt/nginxpulse/nginxpulse-linux-amd64
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target
    

启动服务

  1. 重载 systemd 并启动:

    sudo systemctl daemon-reload
    sudo systemctl start nginxpulse
    sudo systemctl enable nginxpulse
    
  2. 检查状态:

    sudo systemctl status nginxpulse
    
  3. 确保日志目录可读(如果服务启动但没数据,执行此步):

    sudo chmod -R +r /data/nginx_logs/
    

查看数据大小

du -sh /opt/nginxpulse/var

现在,你可以通过浏览器访问 http://服务器IP:8088 来查看 NginxPulse 面板了。

CC BY-NC-SA 4.0 转载请注明
最后更新于 2026-01-22 14:49