mqtt broker(代理/服务器)mosquitto的安装 配置 使用

mqtt的介绍就不多啰嗦了,直接进入主题。

  1. ubuntu安装
    apt-get install mosquitto
  2. 用户及密码的配置
    首先创建用户密码文件/etc/mosquitto/pwfile,然后修改配置文件,博主使用的版本是version 1.4.8,可在/etc/mosquitto/conf.d目录下创建自己的配置文件,创建/etc/mosquitto/conf.d/mqtt.conf配置文件,增加

allow_anonymous false
password_file /etc/mosquitto/pwfile

然后增加用户密码

mosquitto_passwd -b /etc/mosquitto/pwfile 用户名 密码

重启mosquitto服务即可。

  1. 动态加载配置文件,即修改了配置文件,不用重启也能生效。通过mosquitto的源码src/mosquitto.c发现
#ifdef SIGHUP

/* Signal handler for SIGHUP - flag a config reload. */

void handle_sighup(int signal)

{

flag_reload = true;

}

#endif
#ifdef SIGHUP

signal(SIGHUP, handle_sighup);

#endif

在loop.c文件中,重新加载配置文件,其代码如下:

if(flag_reload){

_mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "Reloading config.");

mqtt3_config_read(db->config, true);

mosquitto_security_cleanup(db, true);

mosquitto_security_init(db, true);

mosquitto_security_apply(db);

mqtt3_log_close(db->config);

mqtt3_log_init(db->config);

flag_reload = false;

}

因此通过

kill -SIGHUP pid(mosquitto的进程号)

重新加载相关的配置文件

你可能感兴趣的:(linux)