心得:我是今年2月份开始了解mqtt协议到现在,从一开始的模糊到现在的懵懂,刚刚开始是在本地部署mosquitto的,就是在自己的电脑上部署这个mosquitto轻量级服务器,后来用阿里云,腾讯云来piao一个月的试用,然后用身边人的。不行也有别的云服务器来玩,测试。刚刚开始还是用windows上部署比较方便,慢慢熟悉可以在Linux上去玩一下。
只能说踩了很多坑,第一次写博客记录一下 (记录文,主观判断,不一定是对的)
首先是在centos 7和8都部署过,步骤都差不多,还有看到要下各种插件,我也不知道干嘛用的,我就下载了EPEL,不知道是不是centos版本还是其他不一样。
有两种方式,直接使用下载命令下载mosquitto 还有就是下载压缩包
第一种:直接下载
sudo yum install epel-release # 安装 EPEL 软件仓库
sudo yum install mosquitto
这会直接下载好,记得下载的时候看自己所在的目录,这是我经常会犯的错误,刚刚开始不太熟悉Linux命令,都是在阿里云上面直接更换个操作系统,重新配置。
配置 Mosquitto:
-
Mosquitto 的配置文件位于
/etc/mosquitto/mosquitto.conf
。可以根据需要进行修改。以下是一些常见的配置选项:port
:指定 Mosquitto 监听的端口,默认为 1883。pidfile
:指定进程 ID 文件的路径和文件名,默认为/var/run/mosquitto/mosquitto.pid
。persistence true
:启用持久化功能,确保消息在重启后不丢失。persistence_location
:指定持久化文件的路径和文件名,默认为/var/lib/mosquitto/mosquitto.db
。log_dest
:指定日志输出的目标,默认为syslog
。- 使用vim编辑器打开配置文件并进行相应的修改:
sudo vim /etc/mosquitto/mosquitto.conf
这是我的配置文件,没有设置SSL,捣鼓过一阵,没弄通,至于为什么allow_anonymous true 是我的springboot连接服务器的时候报错,显示无权连接,暂时还没有搞完这个bug,所以暂时设置允许匿名登陆,如果要有账户密码要改false
如果你没有这几个文件用 touch 命令
touch /etc/mosquitto/mosquitto.log
touch passwd(如果在当前目录加文件可以不用加路径)
创建完文件之后记得给文件权限
sudo chmod 666 /etc/mosquitto/mosquitto.log
现在差不多没有问题了在启动服务
mosquitto -c /etc/mosquitto/mosquitto.conf -v -d(-d是代表后台启动)
使用ps命令看是否启动成功或者看systemctl
ps -aux|grep mosquitto
启动成功
如果要关闭就使用kill,根据自己的情况修改PID(如果有一直关不掉的情况,需要用sysremtcl命令)
kill -9 13708
接下来是systemtcl命令
sudo systemctl start mosquitto # 启动 Mosquitto 服务
sudo systemctl stop mosquitto # 停止 Mosquitto 服务
sudo systemctl restart mosquitto # 重新启动 Mosquitto 服务
sudo systemctl status mosquitto.service #检查服务器状态
接下来看看服务器使用状态
没有问题,查看日志文件
tail -f /etc/mosquitto/mosquitto.log(查了好久才发现可以用这个命令看服务器的log)
看看我的运行框
连接成功了
第二种下载压缩包(可以选择自己的版本)
cd ~ # 进入合适的目录
wget http://mosquitto.org/files/source/mosquitto-x.x.x.tar.gz # 替换 x.x.x 为要下载的版本号
tar xzf mosquitto-x.x.x.tar.gz
编译和安装 Mosquitto
cd mosquitto-x.x.x
mkdir build
cd build
cmake ..
sudo make
sudo make install
创建 Mosquitto 用户和组:
sudo useradd -r -m -U mosquitto
文章来源:https://www.toymoban.com/news/detail-760846.html
然后配置mosquitto.conf就是上面文章来源地址https://www.toymoban.com/news/detail-760846.html
配置就到这里结束了
并没有使用SSL连接的方式,需要自己签署证书,用OpenSSL命令,这里的坑很多,我暂时没有遇到解决方法,希望那个大神救助一下。这篇博客是我这几个月的心血了,并不多,也是一步步踩坑,一步步来,太麻烦就重置服务器。我也没有客户端订阅,发布的命令。毕竟才研究几个月,我主要是把订阅的JSON转换报表的形式发送邮箱。有兴趣可以来找我。
这也是记录我创建服务器的过程相对于第二种方式我更喜欢第一种直接下载免去很多步骤,但是第二种也是偶尔有需要,选择版本。
到了这里,关于Linux部署mosquitto及其配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!