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


    Handyhost.ru

    Серёга, 7 февраля 2023 оценил

    Хорошие VPSки у данного провайдера. Качественные и стабильные. пинг хороший. Для моего сайта работает вполне хорошо. Никаких задер...


    xhost24.com

    Михаил548, 6 февраля 2023 оценил

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


    prohoster.info

    Сергей, 6 февраля 2023 оценил

    Решил попробовать данный хост, все работает стабильно. Адекватная цена, вопросов по работе не возникало, скорость устраивает. Подд...


    cloud4box.com

    Алиса Иванова, 6 февраля 2023 оценил

    Уже поменяла несколько хостингов. Выбор остановила на Клаудфобокс. Служба поддержки общается вежливо, чувствуется, что клиентов це...


    pq.hosting

    Константин, 3 февраля 2023 оценил

    Как по мне оптимальное соотношение цены и качества. Замечу, что в месяц аренда VPS обходится мне всего лишь в 8 долларов, что с уч...


    новые Статьи

    Установка Home Assistant на VPS c OC Ubuntu
    Установка NextCloud на VPS
    Установка PostgreSQL на VPS Ubuntu
    Установка Redmine на VPS c Ubuntu
    Сброс root пароля MySQL на VPS
    Читать все статьи