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


    Firstbyte

    Ardanov, 20 ноября 2024 оценил

    Отличный хостер, работаем уже не первый год. Сначала брал пару виртуальных серверов в аренду, а затем развернули VPN для бизнеса и...


    Smartape.ru

    Кирилл, 19 ноября 2024 оценил

    Использую хостинг Смартэйп под размещение своих сайтов ,изначально использовал бесплатный пробный период на две недели ,сайты груз...


    time-host.net

    Алексей, 19 ноября 2024 оценил

    Заказал услугу VPS сервера,оплатил услугу, но необходимо изменить его параметры. Техподдержка ни из личного кабинета, ни по контак...


    ihor.online

    Николай Муратов, 19 ноября 2024 оценил

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


    aeza.net

    knonim, 19 ноября 2024 оценил

    Пользуюсь аезой почти 9 месяцев (VPS) Очень быстрый запуск виртуального сервера, автоматическая переустановка, если это требуется...


    новые Статьи

    Установка FastPanel на Ubuntu VPS
    Установка Django на VPS с Ubuntu
    Установка FastAPI на VPS с UBUNTU
    Установка Flask на VPS с Ubuntu
    Как отключить систему SElinux на VPS