Nagios + Nginx:CSS 和图像问题

Nagios + Nginx:CSS 和图像问题

我在 Nginx 服务的 Arch Linux 上配置 Nagios 时遇到了麻烦。Nagios 服务运行顺利,但通过 Nginx 的服务出现故障。从屏幕截图中可以看到,字体全都乱了,图标也没有显示在浏览器中。我怀疑 CSS 和图像文件的路径不知何故出现故障,因此 Nginx 无法提供服务。

Nagios 屏幕截图

这是我的 Nginx 虚拟服务器配置。我猜想我犯了一些愚蠢的错误,但我找不到问题所在。

错误日志显示以下内容:

*334 open() "/usr/share/nagios/share/nagios/images/ndisabled.gif" failed (2: No such file or directory)

但是,GIF 位于,/usr/share/nagios/share/images/ndisabled.gif表明路径存在一些混淆,但我不知道如何最好地修复。

也许浏览该论坛的某位 Nginx/Nagios 专家会在一微秒内发现这个问题!

server {
    server_name     nagios.bellaria www.nagios.bellaria;
    root            /usr/share/nagios/share;
    listen          80;
    index           index.php index.html index.htm;
    access_log      nagios.access.log;
    error_log       nagios.error.log;

    auth_basic            "Nagios Access";
    auth_basic_user_file  /etc/nagios/htpasswd.users;

    location ~ \.php$ {
        try_files       $uri = 404;
        fastcgi_index   index.php;
        fastcgi_pass    unix:/run/php-fpm/php-fpm.sock;
        include         fastcgi.conf;
    }

    location ~ \.cgi$ {
        root            /usr/share/nagios/sbin;
        rewrite         ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
        fastcgi_param   AUTH_USER $remote_user;
        fastcgi_param   REMOTE_USER $remote_user;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include         fastcgi.conf;
        fastcgi_pass    unix:/run/fcgiwrap.sock;
    }

    location /stylesheets {
        alias /usr/share/nagios/share/stylesheets;
    }
}

答案1

也许由于某些配置,nagios 在 /nagios/images 上查找图像。检查页面源代码 ( Ctrl+ u) 以确认。

您可以为 nagios 设置别名:

location /nagios {
        alias /usr/share/nagios/share;
    }

还要检查配置文件cgi.cfg

(对不起我的英语不好)


在带有 nginx 的 nagios 的 freebsd 中,我使用这个 php/CGI 配置,也许这​​可以帮助您解决 cgi 问题:

    location ~ ^/nagios/.+\.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING       $query_string;
        include fastcgi_params;
    }

    location ~ ^/nagios/.+\.cgi$ {
        fastcgi_pass unix:/var/run/fcgiwrap/nagios.socket;
#        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param AUTH_USER "nagiosadmin";
        fastcgi_param REMOTE_USER "nagiosadmin";
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;

        include fastcgi_params;
    }

相关内容