Установка Mosquitto на VPS

Содержание:

  1. Зачем нужен MQTT?
  2. Принцип работы MQTT
  3. Как установить MQTT?
  4. Как защитить брокера MQTT?

Рейтинг VPS с NVMe дисками, смотрите на нашем сайте.

В данной статье рассмотрим, как установить брокер Mosquitto чтобы протокол MQTT работал на сервере с операционной системой Ubuntu.

Для чего нужен MQTT?

MQTT — легкий и открытый протокол для обмена данными, созданный для передачи данных на удаленные расстояние, где передается небольшой размер информации и есть ограничение по пропускной способности канала.

Пример использования данного протокола: допустим у Вас есть датчик, который измеряет температура воздуха в комнате, и Вам требуется проверять эту температуру на своем сервере — для этой цели идеально подойдет протокол MQTT.

Принцип работы Mosquitto

Как работает MQTT?

В MQTT есть понятие клиенты и брокер. Брокер или сервер — это главный объект, который получает и передает данные дальше. Клиенты — это все остальные участники, например датчик, который считывает температуру и сервер, на котором смотрят температуру будут клиентами.

Клиент будет отправлять данные, о температуре, брокер MQTT будет их принимать и передавать клиенту серверу, который будет их получать.

Установка MQTT:

Для начала подключимся к серверу по SSH и выполним команду по добавлению репозитория Mosquitto:

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

После выполнения команды мы должны увидеть примерно следующий текст:

добавлению репозитория Mosquitto

Для обновления всех пакетов при помощи добавленного репозитория используем команду:

sudo apt-get update

Вы обнаружите похожий вывод команды:

обновление пакетов Mosquitto

Теперь для установки Mosquitto вводим команду:

sudo apt-get install mosquitto

Далее для установки пакетов клиента Mosquitto выполним следующую команду:

sudo apt-get install mosquitto-clients

Выполним следующую команду, чтобы проверить состояние службы Mosquitto:

sudo service mosquitto status

Самые первые строки в выводе должны показывать статус службы. Active (running) означает, что Mosquitto активен и запущен для работы.

статус службы Mosquitto

Также можно выполнить команду, чтобы проверить ожидает ли сервер Mosquitto по порту 1883, который установлен по умолчанию.

netstat -an | grep 1883

Данный вывод показывает, что сервер Mosquitto открыт сокеты ожидания IPv4 и IPv6 для порта 1883:

сервер Mosquitto открыт

Защита брокера MQTT

Пока что любой, кто знает IP-адрес брокера может использовать его для передачи данных по MQTT.

Вводим следующую команду (вместо USERNAME указываем логин, который будет использовать при авторизации):

sudo mosquitto_passwd-c/etc/mosquitto/passwd USERNAME

После выполнения команды, система запросит пароль. Вводим пароль и запоминаем его, он потребуется для авторизации.

Открываем файл default.conf для редактирования.

sudo nano /etc/mosquitto/conf.d/default.conf

Добавляем в начало файла следующие 2 строки (они отвечают за требование авторизации по логину и паролю):

allow_anonymous false
password_file /etc/mosquitto/passwd

Файл будет выглядеть так:

файл default.conf

Сохраняем и закрываем данный файл и перезапускаем брокера командой:

sudo service mosquitto restart

Теперь при попытке подписаться на топик брокера мы получим сообщение «Connection error: Connection refused: not authorised».

Попробуем подписаться на топик брокера с использованием аргументов –u и –P (-u указываем наш логин и -p указываем наш пароль):

mosquitto_sub -h localhost -t test -u "USERNAME" -P "PASSWORD"

После выполнения данной команды подключение проходит успешно.

Комментарии ()

    Последние отзывыpic


    timeweb.com

    Дима Валентинов, 28 сентября 2023 оценил

    По какой-то странной причине все лежит, не работает впн, работа моя встала и я теряю деньги, когда спросил техническую поддержку о...


    ihor.ru

    Дмитрий, 28 сентября 2023 оценил

    Всем привет! Пользуюсь тарифом VDS KVM SSD Cuprum Примерно 2 года, и за этот срок у меня было много разных хостингов, которые попр...


    cloud4box.com

    Оксана, 27 сентября 2023 оценил

    Взяла у Cloud4box ВПСку. Могла бы и сама настроить, но техподдержка взяла это на себя. Нужно было установить мне для работы дополн...


    aeza.net

    Игорь Румянцев, 27 сентября 2023 оценил

    Простой и стабильный хостинг. Нет внезапных отключений, поддержка доброжелательна, предупредительна и отзывчива. Вопросы техническ...


    Smartape.ru

    Филипп, 26 сентября 2023 оценил

    Отличные сотрудники в в техподдержке ,всегда на связи и помогают исправить ошибки


    новые Статьи

    Установка git на VPS сервер
    Установка Bitrix24 на VPS
    Установка и настройка LAMP на VPS с Ubuntu
    Почту из Яндекса теперь можно перевезти в ispmanager. Бесплатно
    Установка Moodle на VPS с ОС Ubuntu
    Читать все статьи