我在 Nginx 提供的 Arch Linux 上配置 Nagios 时遇到问题。Nagios 服务运行顺利,但通过 Nginx 提供的服务中断。从截图可以看出,字体全乱了,图标也没有出现在浏览器中。我怀疑 CSS 和图像文件的路径以某种方式被破坏,因此 Nginx 没有分割。
这是我的 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;
}
}
也许 nagios 会因为某些配置而在 /nagios/images 上查找图像。检查页面(Ctrl+ u)的源代码以确认。
你可以为 nagios 做一个别名:
还要检查配置文件
cgi.cfg
。(对不起我的英语不好)
在带有 nginx 的 nagios 上的 freebsd 中,我将此配置用于 php/CGI,也许这可以帮助您解决 cgi 问题: