Before start following the steps ...
You should probably know that there is official doc about how to install in variant systems. For example:https://docs.emqx.io/broker/v3/en/install.html#debian
However I prefer to gain the sense of control over the install locations etc.
Install Erlang/OTP 21 or newer
There are many ways to do it. I'd recommend https://github.com/asdf-vm/asdfBuild emqx from source code.
Follow the instructions in README in emqx-rel project.The exact commands I executed
$ git clone -b v4.0.0 https://github.com/emqx/emqx-rel.git emqx-rel
cd emqx-rel && make
Execute this command to test if the broker can start normally:$./_build/emqx/rel/emqx/bin/emqx console
Expected log:EMQ X Broker 4.0.0 is running now!
Start it in systemd
Move rel to your favourite location.
$ sudo mv _build/emqx/rel/emqx /opt/
Make a systemd unit file for emqx service
There is a system unit file in emqx-rel project. File path:deploy/packages/rpm/emqx.serviceTo make it simple, update the file to
- Run systemd service with user
pi - Replace
/usr/bin/with/opt/emqx/bin.
$ cat /opt/emqx/emqx.service[Unit]
Description=emqx daemon
After=network.target
[Service]
User=pi
Group=pi
Type=forking
Environment=HOME=/opt/emqx
ExecStart=/bin/sh /opt/emqx/bin/emqx start
LimitNOFILE=1048576
ExecStop=/bin/sh /opt/emqx/bin/emqx stop
[Install]
WantedBy=multi-user.target
Link it to systemd's directory
$ sudo ln -s /opt/emqx/emqx.service /etc/systemd/system/emqx.service
Start it
$ sudo systemctl start emqxCheck if it's running well
$ systemctl status emqx.service
....
Feb 04 20:37:46 raspberrypi sh[5945]: EMQ X Broker v4.0.0 is started successfully!
Feb 04 20:37:46 raspberrypi systemd[1]: Started emqx daemon.
Make it auto start
$ sudo systemctl enable emqx.service
No comments:
Post a Comment