1,先加入yum源
#vi/etc/yum.repos.d/mosquitto.repo [home_oojah_mqtt] name=mqtt(CentOS_CentOS-6) type=rpm-md baseurl=http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/repodata/repomd.xml.key enabled=1
2,开始安装
#yuminstall-ymosquittomosquitto-clientslibmosquitto-devellibmosquittopp-develpython-mosquitto
3,配置
安装完成之后,所有配置文件会被放置于/etc/mosquitto/目录下,其中最重要的就是Mosquitto的配置文件,即mosquitto.conf,以下是详细的配置参数说明
#================================================================= #Generalconfiguration #================================================================= #客户端心跳的间隔时间 #retry_interval20 #系统状态的刷新时间 #sys_interval10 #系统资源的回收时间,0表示尽快处理 #store_clean_interval10 #服务进程的PID #pid_file/var/run/mosquitto.pid #服务进程的系统用户 #usermosquitto #客户端心跳消息的最大并发数 #max_inflight_messages10 #客户端心跳消息缓存队列 #max_queued_messages100 #用于设置客户端长连接的过期时间,默认永不过期 #persistent_client_expiration #================================================================= #Defaultlistener #================================================================= #服务绑定的IP地址 #bind_address #服务绑定的端口号 #port1883 #允许的最大连接数,-1表示没有限制 #max_connections-1 #cafile:CA证书文件 #capath:CA证书目录 #certfile:PEM证书文件 #keyfile:PEM密钥文件 #cafile #capath #certfile #keyfile #必须提供证书以保证数据安全性 #require_certificatefalse #若require_certificate值为true,use_identity_as_username也必须为true #use_identity_as_usernamefalse #启用PSK(Pre-shared-key)支持 #psk_hint #SSL/TSL加密算法,可以使用“opensslciphers”命令获取 #astheoutputofthatcommand. #ciphers #================================================================= #Persistence #================================================================= #消息自动保存的间隔时间 #autosave_interval1800 #消息自动保存功能的开关 #autosave_on_changesfalse #持久化功能的开关 persistencetrue #持久化DB文件 #persistence_filemosquitto.db #持久化DB文件目录 #persistence_location/var/lib/mosquitto/ #================================================================= #Logging #================================================================= #4种日志模式:stdout、stderr、syslog、topic #none则表示不记日志,此配置可以提升些许性能 log_destnone #选择日志的级别(可设置多项) #log_typeerror #log_typewarning #log_typenotice #log_typeinformation #是否记录客户端连接信息 #connection_messagestrue #是否记录日志时间 #log_timestamptrue #================================================================= #Security #================================================================= #客户端ID的前缀限制,可用于保证安全性 #clientid_prefixes #允许匿名用户 #allow_anonymoustrue #用户/密码文件,默认格式:username:password #password_file #PSK格式密码文件,默认格式:identity:key #psk_file #patternwritesensor/%u/data #ACL权限配置,常用语法如下: #用户限制:user<username> #话题限制:topic[read|write]<topic> #正则限制:patternwritesensor/%u/data #acl_file #================================================================= #Bridges #================================================================= #允许服务之间使用“桥接”模式(可用于分布式部署) #connection<name> #address<host>[:<port>] #topic<topic>[[[out|in|both]qos-level]local-prefixremote-prefix] #设置桥接的客户端ID #clientid #桥接断开时,是否清除远程服务器中的消息 #cleansessionfalse #是否发布桥接的状态信息 #notificationstrue #设置桥接模式下,消息将会发布到的话题地址 #$SYS/broker/connection/<clientid>/state #notification_topic #设置桥接的keepalive数值 #keepalive_interval60 #桥接模式,目前有三种:automatic、lazy、once #start_typeautomatic #桥接模式automatic的超时时间 #restart_timeout30 #桥接模式lazy的超时时间 #idle_timeout60 #桥接客户端的用户名 #username #桥接客户端的密码 #password #bridge_cafile:桥接客户端的CA证书文件 #bridge_capath:桥接客户端的CA证书目录 #bridge_certfile:桥接客户端的PEM证书文件 #bridge_keyfile:桥接客户端的PEM密钥文件 #bridge_cafile #bridge_capath #bridge_certfile #bridge_keyfile #自己的配置可以放到以下目录中 include_dir/etc/mosquitto/conf.d
4,启动服务,两种方式
#mosquitto-c/etc/mosquitto/mosquitto.conf-d #sudo/etc/init.d/mosquittostart
消息端(topico 为topicTest02,消息为TestMessage)
#mosquitto_pub-ttopicTest02-mTestMessage
订阅端
#mosquitto_sub-v-ttopicTest02 topicTest02TestMessage
可以看到收到消息了。