MQTT轻量级即时通讯服务器搭建

来源:互联网 发布:什么是人工智能 编辑:程序博客网 时间:2024/05/12 05:01

即时通信代理- mosquito 安装

1 安装支持环境

说明:遇到选择y/n的时候 全部选择y继续运行

yum install gcc-c++
yum install cmake
//mosquitto默认支持openssl
yum install openssl-devel

2下载源重点内容码并解压
cd /home
wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz
tar -xzvf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9

3 配置config.mk

vim config.mk

修改 下面三项改为 yes WITH_SRV ,WITH_UUID,WITH_WEBSOCKETS
输入:“i”进入编辑的状态
编辑好后,按下Eec退出编辑状态 然后输入:“:wq”保存并退出 回到命令界面

这里写图片描述

4 安装支持环境c-areas
cd /home
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make&make install

5 安装支持环境lib-uuid
yum install libuuid-devel

6 安装libwebsockets
cd /home
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build; cd build;
cmake .. -DLIB_SUFFIX=64
make install

7 开始编译源码并且安装mosquitto

8.进入项目目录

cd /home/mosquitto-1.4.9

9.编译

make&make install

10.重命名

mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

11.编辑配置

vim /etc/mosquitto/mosquitto.conf

12.在顶部加入以下配置

autosave_interval 1800

persistence true

persistence_file mosquitto.db

persistence_location /var/mosquitto/

listener 1883

listener 8888

protocol websockets

user root

allow_anonymous true

保存退出 shit键+冒号 wq

13.添加路径
vim /etc/ld.so.conf.d/liblocal.conf

14.添加下面两行配置

/usr/local/lib64
/usr/local/lib

保存退出
15.刷新
ldconfig

16启动
cd /usr/local/sbin
mosquitto -c /etc/mosquitto/mosquitto.conf -d

17.新建两个shell端口A/B
测试是否搭建成功
A 订阅主题:
mosquitto_sub -t test
B 推送消息:
mosquitto_pub -h localhost -t test -m “this is test 来自电脑b”

5.2.8 防火墙设置

安装iptables-services

yum install iptables-services

启动firewalld服务

systemctl start firewalld

查看iptables现有规则

iptables -L -n

先允许所有,不然有可能会杯具

iptables -P INPUT ACCEPT

清空所有默认规则

iptables -F

清空所有自定义规则

iptables -X

所有计数器归0

iptables -Z

开放1888 端口

iptables -A INPUT -p tcp –dport 1888 -j ACCEPT

开放8888端口

iptables -A INPUT -p tcp –dport 8888 -j ACCEPT

开放8888端口

iptables -A INPUT -p udp –dport 5060 -j ACCEPT

如果流媒体服务器装在这台机子上也要开放端口

iptables -A INPUT -p udp –dport 8088 -j ACCEPT
iptables -A INPUT -p udp –dport 8087 -j ACCEPT
iptables -A INPUT -p udp –dport 8086 -j ACCEPT
iptables -A INPUT -p udp –dport 1935 -j ACCEPT

保存上述规则

service iptables save

注册iptables服务

相当于以前的chkconfig iptables on

systemctl enable iptables.service

开启服务

systemctl start iptables.service

查看状态

systemctl status iptables.service

5.2.9 手动启动命令(意外关机可手动启动)
启动实时通信服务器
cd /usr/local/sbin
mosquitto -c /etc/mosquitto/mosquitto.conf -d

启动视频会议视频电话服务器
cd /usr/local/sbin/ ;
./opensipsctl start

关闭firewalld服务

systemctl stop firewalld
如果连接不了mqtt服务器,可以尝试关闭防火墙

Ping命令的使用:
检查自己的电脑与外界网络链接是否正常,输入Ping远程IP(直接输入Ping + 网址也可以),收发相等,没有丢失即为正常

也可以ping www.baidu.com 测试本机测试与百度之间网络是否畅通

其他注意事项:
1、Ip查询命令:ifconfig

2、如果安装在虚拟机,必须把虚拟机的网络连接方式 修改为桥接模式
这里写图片描述

3、修改虚拟机的ip地址:
进入虚拟机后如下操作:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

0 0
原创粉丝点击