我有一个在Ubuntu 16.04中运行的MQTT代理。我的问题是如何在代理运行时添加用户?当我使用
添加用户时mosquitto_passwd -c /etc/mosquito/pwfile user2
用户确实显示在pwfile中,但在重新启动代理之前,我无法从外部源访问该用户。 我试过用
sudo mosquitto -c /etc/mosquitto/mosquitto.conf
重新加载mosquitto.conf文件,但它会出现此错误
1483102542: Config loaded from /etc/mosquitto/mosquitto.conf.
1483102542: Opening ipv4 listen socket on port 1883.
1483102542: Error: Address already in use
那么我应该怎样做才能将用户添加到代理并加载它们而无需重新启动代理?(我使用ESP8266设备访问此代理,我也尝试使用MQTTLens(chrome扩展)访问新添加的用户但是我无法访问)
答案 0 :(得分:5)
有两种选择。
mosquitto_passwd
时不会接收更改。您可以通过向mosquitto代理发送HUP信号来强制mosquitto重新读取文件答案 1 :(得分:2)
您可以通过向流程发送 SIGHUP 来重新加载配置,而不会中断现有连接。
$kill -SIGHUP PID
这将重新加载pwfile。但不是PID文件。有关 HUP 重新加载文件的更多信息,请参阅:mosquitto conf documentation
此处显示完整步骤:reload mosquito config without restarting the service