大家好,小沃之前有向大家介绍过关于使用apache apollo搭建mqtt服务器,但是使用它搭建mqtt服务器有个问题,那就是这个mqtt服务器是使用java写的,大家都知道使用java写的程序有什么问题,主要是消耗内存非常的大,小沃做过实验,使用apache apollo的服务器,稳定运行内存至少需要4G,在小于4G的机器下,连接的设备会出现反复掉线的问题。但是即使在1G内存的机器中,mosquitto也能稳定的运行。
简单的说:
apache apollo |
|
mosquitto |
|
下面我以debian9与centos7为例告诉下大家如何搭建mosquitto mqtt服务器。
第一步:
添加mosquitto源:
(1).debian9的添加方法为:
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
(2).centos7的添加方法为:
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-7/home:oojah:mqtt.repo -O CentOS-mosquitto.repo
第二步:
更新缓存
(1).debian9的方法为:
apt-get update
(2).centos7的方法为:
yum makecache
第三步:
正式安装mosquitto
(1).debian9的方法为:
apt-get install mosquitto
(2).centos7的方法为:
yum install mosquitto
第四步:
配置mosquitto
1、将mosquitto的配置样板放到/etc/mosquitto/conf.d下面去
(1).debian9的配置样板放置方法为:
cd /etc/mosquitto/conf.d/
cp /usr/share/doc/mosquitto/examples/mosquitto.conf.gz ./
gz -d mosquitto.conf.gz
(2).centos7的配置方法为:
cd /etc/mosquitto/conf.d
cp /etc/mosquitto/mosquitto.conf.example ./mosquitto.conf
2、修改配置文件
将配置文件中的如下几行
#port 1883
#protocol mqtt
#listener
#protocol mqtt
#allow_anonymous true
#password_file
修改为
port 1883
protocol mqtt
listener 9001
protocol websockets
allow_anonymous false
password_file /etc/mosquitto/pwdfile
其他的位置不发生变化。(大家注意,绿色的配置是debian专有的,centos不能启动,因为websockets功能,centos的预编译版本没有添加)
3、设置mosquitto连接账号密码
mosquitto_passwd -c /etc/mosquitto/pwdfile username
执行完这句话后就会提示您输入密码了。
第五步:
重启mosquitto服务器即可。
/etc/init.d/mosquitto restart