Моя настройка mosquitto MQTT: различия между версиями
Mixman (обсуждение | вклад) мНет описания правки |
Mixman (обсуждение | вклад) Нет описания правки |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно. | Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно. | ||
Возможно будет обновляться ))) | Возможно будет обновляться ))) | ||
Для Debian | |||
Итак поехали. | Итак поехали. | ||
Строка 45: | Строка 47: | ||
Теперь чем мой файл отличается от общепринятых. | Теперь чем мой файл отличается от общепринятых. | ||
**persistent_client_expiration 14d | *listener 1883 192.168.9.879 - устанавливает порт и IP адрес сервера mosquitto (изменить на свой) | ||
*persistent_client_expiration 14d - Удаляет топики, если клиент не подключался более 14 дней | |||
*autosave_interval 0 - база данных топиков хранится в памяти и скидывается на винт только при перезагрузке. | |||
*sys_interval 0 - отключаю логи | |||
PS: полность очистить mqtt базу в Linux | PS: полность очистить mqtt базу в Linux | ||
<pre> | |||
sudo service mosquitto stop | sudo service mosquitto stop | ||
sudo rm /var/lib/mosquitto/mosquitto.db | sudo rm /var/lib/mosquitto/mosquitto.db | ||
sudo service mosquitto start | sudo service mosquitto start | ||
</pre> | |||
Ниже скопировано с оффициального сайта москито и переведено онлайн переводчиком | Ниже скопировано с оффициального сайта москито и переведено онлайн переводчиком | ||
'''persistent_client_expiration''' ''duration'' | |||
Этот параметр позволяет удалять постоянных клиентов (тех, у которых для чистого сеанса установлено значение false), если они не подключаются повторно в течение определенного периода времени. Это нестандартный вариант. Что касается спецификации MQTT, постоянные клиенты сохраняются вечно. | Этот параметр позволяет удалять постоянных клиентов (тех, у которых для чистого сеанса установлено значение false), если они не подключаются повторно в течение определенного периода времени. Это нестандартный вариант. Что касается спецификации MQTT, постоянные клиенты сохраняются вечно. | ||
Плохо спроектированные клиенты могут установить для чистого сеанса значение false при использовании случайно сгенерированного идентификатора клиента. Это приводит к постоянным клиентам, которые никогда не будут подключаться повторно. Эта опция позволяет удалить этих клиентов. | Плохо спроектированные клиенты могут установить для чистого сеанса значение false при использовании случайно сгенерированного идентификатора клиента. Это приводит к постоянным клиентам, которые никогда не будут подключаться повторно. Эта опция позволяет удалить этих клиентов. | ||
Срок действия должен быть целым числом, за которым следует одно из значений hdwmy для часа, дня, недели, месяца и года соответственно. Например: | Срок действия должен быть целым числом, за которым следует одно из значений '''hdwmy''' для '''часа, дня, недели, месяца и года''' соответственно. Например: | ||
persistent_client_expiration | * persistent_client_expiration 2m. | ||
persistent_client_expiration 14d | * persistent_client_expiration 14d | ||
persistent_client_expiration | * persistent_client_expiration 1y. | ||
Поскольку это нестандартный вариант, по умолчанию, если он не установлен, постоянные клиенты никогда не истекают. | Поскольку это нестандартный вариант, по умолчанию, если он не установлен, постоянные клиенты никогда не истекают. | ||
Строка 75: | Строка 78: | ||
'''autosave_interval''' ''seconds'' | |||
Количество секунд, в течение которых mosquitto будет ждать между каждым сохранением базы данных в памяти на диск. Если установлено значение 0, база данных в памяти будет сохранена только при выходе Mosquitto или при получении сигнала SIGUSR1. Обратите внимание, что этот параметр действует только в том случае, если включено сохранение. По умолчанию 1800 секунд (30 минут). | Количество секунд, в течение которых mosquitto будет ждать между каждым сохранением базы данных в памяти на диск. Если установлено значение 0, база данных в памяти будет сохранена только при выходе Mosquitto или при получении сигнала SIGUSR1. Обратите внимание, что этот параметр действует только в том случае, если включено сохранение. По умолчанию 1800 секунд (30 минут). | ||
'''sys_interval''' ''seconds'' | |||
Установка этого значения в ноль отключит публикацию иерархии. По умолчанию интервал составляет 10 секунд. | Установка этого значения в ноль отключит публикацию иерархии. По умолчанию интервал составляет 10 секунд. | ||
Используйте | Используйте '''«log_dest none»''', если хотите отключить ведение журнала. По умолчанию stderr. Этот параметр можно указывать несколько раз. |
Текущая версия от 10:14, 6 сентября 2021
Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно. Возможно будет обновляться )))
Для Debian
Итак поехали.
sudo service mosquitto stop sudo nano /etc/mosquitto/mosquitto.conf
Меняю на это
listener 1883 192.168.9.879 #persistence false persistence true persistence_location /var/lib/mosquitto/ persistence_file mosquitto.db autosave_interval 0 persistent_client_expiration 14d log_dest none #log_dest syslog #log_dest stdout #log_dest topic #log_type error #log_type warning #log_type notice #log_type information log_type none connection_messages true log_timestamp true allow_anonymous false #password_file /etc/mosquitto/pwfile password_file /etc/mosquitto/passwd sys_interval 0
sudo service mosquitto start
Теперь чем мой файл отличается от общепринятых.
- listener 1883 192.168.9.879 - устанавливает порт и IP адрес сервера mosquitto (изменить на свой)
- persistent_client_expiration 14d - Удаляет топики, если клиент не подключался более 14 дней
- autosave_interval 0 - база данных топиков хранится в памяти и скидывается на винт только при перезагрузке.
- sys_interval 0 - отключаю логи
PS: полность очистить mqtt базу в Linux
sudo service mosquitto stop sudo rm /var/lib/mosquitto/mosquitto.db sudo service mosquitto start
Ниже скопировано с оффициального сайта москито и переведено онлайн переводчиком
persistent_client_expiration duration
Этот параметр позволяет удалять постоянных клиентов (тех, у которых для чистого сеанса установлено значение false), если они не подключаются повторно в течение определенного периода времени. Это нестандартный вариант. Что касается спецификации MQTT, постоянные клиенты сохраняются вечно.
Плохо спроектированные клиенты могут установить для чистого сеанса значение false при использовании случайно сгенерированного идентификатора клиента. Это приводит к постоянным клиентам, которые никогда не будут подключаться повторно. Эта опция позволяет удалить этих клиентов.
Срок действия должен быть целым числом, за которым следует одно из значений hdwmy для часа, дня, недели, месяца и года соответственно. Например:
- persistent_client_expiration 2m.
- persistent_client_expiration 14d
- persistent_client_expiration 1y.
Поскольку это нестандартный вариант, по умолчанию, если он не установлен, постоянные клиенты никогда не истекают.
Эта опция применяется глобально.
autosave_interval seconds
Количество секунд, в течение которых mosquitto будет ждать между каждым сохранением базы данных в памяти на диск. Если установлено значение 0, база данных в памяти будет сохранена только при выходе Mosquitto или при получении сигнала SIGUSR1. Обратите внимание, что этот параметр действует только в том случае, если включено сохранение. По умолчанию 1800 секунд (30 минут).
sys_interval seconds
Установка этого значения в ноль отключит публикацию иерархии. По умолчанию интервал составляет 10 секунд.
Используйте «log_dest none», если хотите отключить ведение журнала. По умолчанию stderr. Этот параметр можно указывать несколько раз.