Nginx 和 Munin 通过 CGI,没有 CSS,没有图表

Nginx 和 Munin 通过 CGI,没有 CSS,没有图表

我是 Munin 和 Nginx 的新手。我已经安装并配置了 Munin 并创建了一个 Nginx 服务器块。我可以看到 munin 生成的索引页面,列出了不同的节点。但是当我点击主机查看图表时,我得到的只是一个没有 CSS 和图表的 HTML 页面。更准确地说,网页、CSS 甚至 favicon.ico 中都有相同的 HTML 代码。并且没有加载任何图表(例如我没有 404)。

我跟着本教程

这是我的 Nginx 服务器块:

server {
    listen 80;
    server_name munin.armagnac.[masked].com;

    location ^~ /cgi-bin/munin-cgi-graph/ {
        access_log off;
        fastcgi_split_path_info ^(/cgi-bin/munin-cgi-graph)(.*);
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass unix:/var/run/munin/fcgi-graph.sock;
        include fastcgi_params;
    }

    location /static/ {
        alias /etc/munin/static/;
    }

    location / {
        fastcgi_split_path_info ^(/munin)(.*);
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
        include fastcgi_params;
    }
}

我没有任何错误,日志中也没有任何内容。

如上所述,节点页面几乎是空白的:

节点网页

没有 CSS,因为任何其他资源都只是相同的 HTML 页面:

css 和 favicon 都是 html

同样,日志中没有任何内容,并且 HTML 和图形 CGI 工作正常。但我不知道配置问题出在哪里,例如。在 Nginx 端或 Munin 端。

操作系统:Ubuntu服务器15.04

答案1

我在设置munin时也遇到了这个问题。

编辑

我所做的是:

  1. 从源安装spawn-fcgi
  2. 为spawn-fcgi设置启动脚本
  3. 确保位置/munin-cgi/munin-cgi-graph/并将/munin-cgi/munin-cgi-html/其转发到各自生成的 fcgi 进程。

我的虚拟主机,相关部分:

位置/穆宁{
# 别名 /var/cache/munin/www;
    索引index.html;
# 包含/etc/nginx/php.conf;
# 访问日志关闭;
    允许 127.0.0.1;
    允许 192.168.0.0/16;
    否认一切;                                
}

位置 ^~ /munin-cgi/munin-cgi-graph/ {
# if ($uri ~ /munin-cgi/munin-cgi-graph/([^/]*)) { 设置 $path $1; }
    fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fastcgi-munin-graph.sock;
    包括 fastcgi_params;
}
位置 ^~ /munin-cgi/munin-cgi-html/ {
# if ($uri ~ /munin-cgi/munin-cgi-html/([^/]*)) { 设置 $path $1; }
    fastcgi_split_path_info ^(/munin-cgi/munin-cgi-html)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fastcgi-munin-html.sock;
    包括 fastcgi_params;
}

请在这里尝试我的设置: https://serverfault.com/questions/670535/munin-nginx-no-dynazoom-into-graphs/745265#745265其中还包括初始化脚本。

直到今天为止对我来说效果很好

答案2

我遇到了同样的问题。对我有帮助的是改变

  location /munin/ {
    alias /var/cache/munin/www/;
    index index.html;
  }

成为

  location ^~ /munin/ {
    alias /var/cache/munin/www/;
    index index.html;
  }

请注意^~。更改此设置并重新加载 Nginx 后,所有 css 和图像开始正确加载。

相关内容