\uD83E\uDD14 Problem
The HiveMQ service fails to start on boot after following the instructions provided in the HiveMQ Documentation.
\uD83C\uDF31 Solution
We suggest using Systemd service to run HiveMQ as a service.
Copy the HiveMQ service file to the systemd directory:
sudo cp /opt/hivemq/bin/init-script/hivemq.service /etc/systemd/system/hivemq.service
Edit the HiveMQ service file to run as root instead of the default hivemq user:
sudo nano /etc/systemd/system/hivemq.service
Update Service Group and User as “root”.
Reload systemd to apply the changes made to the HiveMQ service file. Use following command to do that.
systemctl daemon-reload
Enable HiveMQ to start on boot. Following command configures systemd to start the HiveMQ service automatically on boot.
sudo systemctl enable hivemq
Manually start the HiveMQ service:
sudo systemctl start hivemq.service
Check the status of the HiveMQ service:
systemctl status hivemq.service
This command displays the status of the HiveMQ service, including whether it is running or not.
Debug the HiveMQ startup process with systemd:
journalctl | grep -i hivemq
Check if HiveMQ is listening to the default port for MQTT:
netstat -an | grep 1883
In case firewalls such as UFW are enabled, Please try disabling these and retry to run the hivemq service. Or allow mqtt and control centre ports configured in HiveMQ’s config.xml to become accessible.
Even after doing all of the above still service fails to restart then this could be because of Ubuntu AppArmor or SELinux configurations that may interfere with the service. Please try disabling them and retry if the service starts without issue.
In case the issue persists, please reach out to support via the Support portal for further help.