这里以阿里云服务ECS为例安装mosquitto,linux系统版本:Alibaba Cloud Linux 3.2104 LTS 64位
第一步:安装mosquitto
运行命令:sudo yum install mosquitto
第二步:启动mosquitto
启动命令:sudo systemctl start mosquitto
设置自动启动,命令:sudo systemctl enable mosquitto
重启命令:sudo systemctl restart mosquitto
关闭命令:sudo systemctl stop mosquitto
第三步:配置mosquitto.conf文件
打开/etc/mosquitto/mosquitto.conf文件,在底部加入以下代码:
#监听端口 listener 1883 # 设置是否允许匿名连接,如果禁止匿名连接,则需要配置账号、密码连接 allow_anonymous false # 密码文件路径,禁止匿名连接配置,允许匿名则不用配置 password_file /etc/mosquitto/pwfile.conf
配置文件修改完成后需要重启mosquitto。
第四步:设置访问账号密码
# 我这里用户名是username
mosquitto_passwd -c /etc/mosquitto/pwfile.conf username
# 然后输入俩遍密码即可
说明:
# 使用-c 参数会导致清空密码文件,重新插入用户
mosquitto_passwd -c /etc/moquitto/pwfile.conf 用户名
# 不使用-c 表示追加用户,不影响旧用户
mosquitto_passwd /etc/moquitto/pwfile.conf 用户名
然后重启mosquitto第五步:订阅主题和发布消息
订阅命令:mosquitto_sub -u username -P 123456 -t topic/test
发布命令:mosquitto_pub -u username -P 123456 -t topic/test -m "Hello world"
设置外部终端通过IP连接,比如:MQTTX
在阿里云服务器上设置安全组管理规则,放开1883端口,如下图
如还不能连接可以试下linux系统上也放开1883端口
sudo iptables -I INPUT -p tcp --dport 1883 -j ACCEPT
sudo service iptables restart
或
sudo firewall-cmd --zone=public --add-port=1883/tcp --permanent
sudo systemctl restart firewalld
然后我们验证端口是否开放,
第一种:命令:sudo netstat -tuln
该命令会列出所有当前正在监听 TCP 和 UDP 端口的进程信息,包括协议、本地地址、本地端口、外部地址、外部端口以及进程名称等信息。其中,-t 选项表示查看 TCP 端口,-u 选项表示查看 UDP 端口,-l 选项表示查看正在监听的端口,-n 选项表示使用数字显示端口号和 IP 地址,而不使用域名和服务名称。
第二种,命令:telnet 192.168.1.100 1883
其中,假设IP地址表示您的服务器公网 IP 地址,端口号则是您所开放的端口号。如果端口已经开放,则会连接成功,否则会提示连接失败。
上一篇:linux小皮面板安装及基本配置
下一篇:没有了
讨论数量:0