Nagios + Nginx: проблемы с CSS и изображениями
У меня проблемы с настройкой Nagios в Arch Linux, обслуживаемом Nginx. Сервисы Nagios работают без заминок, но обслуживание через Nginx прерывается. Как видно на скриншоте, все шрифты перепутаны, а значки не отображаются в браузере. Я подозреваю, что пути к файлам CSS и изображениям каким-то образом повреждены и поэтому не сохраняются Nginx.
Вот мой виртуальный сервер Nginx conf. Я предполагаю, что сделал какую-то глупую ошибку, но не могу определить проблему.
Журнал ошибок показывает следующее:
*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
,
(Извините за мой английский)
В freebsd на моем nagios с nginx я использую этот конфиг для 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;
}