Monitorix с использованием nginx

Вопрос или проблема

У меня есть VPS, который обслуживает веб-сайт с использованием nginx и jetty, и все работает отлично. Веб-сайт доступен через мой домен .com.

Я установил monitorix и хочу получить доступ к веб-интерфейсу monitorix, который также должен обслуживаться nginx (я не хочу устанавливать другой сервер, такой как lighttpd или apache, только для monitorix). В документации monitorix говорится, что он должен быть доступен по http://localhost/monitorix. Я попытался зайти на www.mydomain.com/monitorix, но у меня появилась моя собственная страница 404, и я также пробовал получить доступ к http://localhost/monitorix как с помощью curl, так и с помощью lynx, и у меня также появилась страница 404.

Как я могу настроить nginx для обслуживания WUI monitorix? Это нормально, если я настрою его для обслуживания только localhost, и я могу создать SSH-туннель со своего компьютера, чтобы увидеть страницу и графическую статистику.

Спасибо!!

Nginx не поддерживает CGI. Вы можете попробовать SimpleCGI, но я рекомендую установить Apache для Monitorix.

Вы можете использовать fcgiwrap для доступа к скрипту CGI Monitorix из NGINX.

    location /monitorix {
        alias /var/lib/monitorix/www/;
    }

    location /monitorix-cgi/ {
        alias /var/lib/monitorix/www/cgi/;
        include fastcgi_params;
        fastcgi_pass unix:/run/fcgiwrap.socket;
        fastcgi_param SCRIPT_FILENAME $request_filename;
    }

Как указано в FAQ, веб-серверу нужны права на запись в каталог imgs:

chown -R www-data:www-data /var/lib/monitorix/www/imgs

Довольно старая тема, но она может быть обновлена.

Вы также можете использовать собственный CGI-сервер Monitorix с NGINX или Apache в качестве обратных прокси, так что нет необходимости устанавливать дополнительные пакеты для этого. Просто следуйте инструкциям, чтобы добавить сайты в конфигурационные файлы NGINX или Apache здесь:

Ответ или решение

Чтобы настроить Monitorix на вашем VPS с использованием Nginx, необходимо проделать несколько шагов. Monitorix использует CGI-скрипты, что требует конфигурации Nginx для обработки таких запросов. Данная инструкция будет включать необходимые настройки и сведения, которые помогут вам без проблем интегрировать Monitorix с вашим текущим стеком.

Шаги по настройке Nginx для Monitorix

  1. Установка fcgiwrap:
    Для обработки CGI-запросов вам необходимо установить fcgiwrap, который позволяет Nginx выполнять CGI-скрипты.

    В зависимости от вашей операционной системы, вы можете установить его с помощью следующих команд:

    Для Debian/Ubuntu:

    sudo apt-get install fcgiwrap

    Для CentOS:

    sudo yum install fcgiwrap
  2. Конфигурация fcgiwrap:
    Убедитесь, что fcgiwrap запущен и работает. Обычно он запускается как сервис и может использовать сокет Unix. Это необходимо для корректного взаимодействия с Nginx.

    Проверьте наличие сокета по пути /run/fcgiwrap.socket или аналогичному, который используется в вашей системе. Если его там нет, настройте его следующим образом:

    sudo systemctl start fcgiwrap
    sudo systemctl enable fcgiwrap
  3. Конфигурация Nginx:
    Включите следующую конфигурацию в файл конфигурации вашего сайта (обычно находится по пути /etc/nginx/sites-available/default или аналогичном):

    server {
       listen 80;
       server_name example.com;  # замените на ваше доменное имя
    
       location /monitorix {
           alias /var/lib/monitorix/www/;
       }
    
       location /monitorix-cgi/ {
           alias /var/lib/monitorix/www/cgi/;
           include fastcgi_params;
           fastcgi_pass unix:/run/fcgiwrap.socket;
           fastcgi_param SCRIPT_FILENAME $request_filename;
       }
    }

    Убедитесь, что путь к каталогам — /var/lib/monitorix/www/ и /var/lib/monitorix/www/cgi/ — соответствует вашему окружению. Если у вас другой путь установки, измените его соответственно.

  4. Настройка прав доступа:
    Monitorix требует наличия прав на запись в директорию изображений. Выполните следующую команду для установки необходимых прав:

    sudo chown -R www-data:www-data /var/lib/monitorix/www/imgs

    Это важно для обеспечения корректной работы Monitorix, поскольку ему потребуется создавать и обновлять графические статические файлы.

  5. Проверка конфигурации и перезапуск Nginx:
    После внесения изменений проверьте конфигурацию Nginx на наличие ошибок:

    sudo nginx -t

    Если тест прошел успешно, перезапустите Nginx для применения изменений:

    sudo systemctl restart nginx
  6. Доступ к интерфейсу Monitorix:
    Теперь вы должны иметь возможность получить доступ к веб-интерфейсу Monitorix по адресу http://example.com/monitorix. Если вы хотите получить доступ к Monitorix локально, вы также можете использовать SSH-туннелирование, чтобы перенаправить локальный порт на ваш сервер.

Заключение

Теперь вы успешно сконфигурировали Monitorix для работы с Nginx на вашем VPS. Используя fcgiwrap, вы можете обойти необходимость в установке отдельного веб-сервера, такого как Apache или Lighttpd. Следуя вышеприведённым шагам, вы обеспечите доступ к всем необходимым статистикам и графикам Monitorix, при этом оставаясь в рамках своего текущего стека технологий.

Оцените материал
Добавить комментарий

Капча загружается...