Установка 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


    lite.host

    DEN, 2 июня 2023 оценил

    Пользуюсь хостингом ещё с 2016 года, всегда все устраивает. Держит даже высоконагруженные сайты. Особенно хочу отметить техподдерж...


    Coopertino.ru

    Денис Мельников, 31 мая 2023 оценил

    Большая благодарность техподдержке хостинга. Была проблема с резервным бэкапом "благодаря" прошлому хостеру, ребята помо...


    prohoster.info

    Тимур, 31 мая 2023 оценил

    Собственно, ценники можно увидеть уже здесь, чтобы понимать ценовую категорию прохостера. Качество работы хостинга меня устраивает...


    adman.com

    вячеслав , 29 мая 2023 оценил

    удобный и хороший хостинг советую.


    pq.hosting

    Леонид, 29 мая 2023 оценил

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


    новые Статьи

    Почту из Яндекса теперь можно перевезти в ispmanager. Бесплатно
    Установка Moodle на VPS с ОС Ubuntu
    Установка Home Assistant на VPS c OC Ubuntu
    Установка NextCloud на VPS
    Установка PostgreSQL на VPS Ubuntu
    Читать все статьи