如何在树莓派4B上设置EMQX开机自启动

上一篇文章《如何在树莓派4B上安装EMQ X Broker》中所提及的EMQX编译安装成功后,还想要让它开启自动启动,这样才能作为一个MQTT服务器来使用。

那怎么办呢,怪我Linux基础太差,找了好多教程,试了不下十遍,终于成功了。首次成功是在Ubuntu下,因为Ubuntu也是树莓派官网推荐的OS之一,所以先从这个基于Debian的流行操作系统开始的。网上很多都是针对Ubuntu 18及老版本的,找了好久因为新版本是用SystemD来管理服务了。

设置操作视频

已上传至微信公众号,请直接点击文章链接观看:https://mp.weixin.qq.com/s/8naZNoS87yZN7r26Qfo7bw

准备工作

因为树莓派默认没有安装VIM,需要自行安装sudo apt install vim,本部分的VIM功能,记住i是进入编辑模式,ESC退出编辑模式,:是进入命令号模式,进入命令行后w是写入,q是退出。

开始设置

第一步在rc-local.service增加服务

sudo vim /lib/systemd/system/rc-local.service

VIM打开后,在最下面增加如下代码

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

第二步是在rc.local增加emqx启动命令

sudo vim /etc/rc.local

打开后,在exit 0前面增加以下代码

echo "EMQX auto starting" > /usr/local/emqx.log
cd /home/pi/emqx-rel/_build/emqx/rel/emqx/bin && sudo ./emqx start

第三步给rc.local增加可执行权限

sudo chmod +x /etc/rc.local

第四步给EMQX目录增加权限

sudo chmod -R 777 /home/pi/emqx-rel/_build

最后一步启动服务

sudo systemctl enable rc-local.service

设置完毕重启后,就应该能看到服务的日志

服务的状态也可以看到如下

服务相关命令

启动服务
sudo systemctl start rc-local.service
禁用服务
sudo systemctl disable rc-local.service
服务状态
sudo systemctl status rc-local.service
重新加载服务
sudo systemctl daemon-reload

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据