服务器一般安装那种centos_CentOS 安装配置 ApacheApollo 作为 MQTT 服务器

1. 说明

MQTT 是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过 Twitter 让房屋联网)的通信协议。

Apache Apollo 是一个代理服务器,其是在 ActiveMQ 基础上发展而来的,可以支持 STOMP, AMQP, MQTT, Openwire, SSL, WebSockets 等多种协议。

2. 原理

服务器端创建一个唯一订阅号,发送者可以向这个订阅号中发东西,然后接受者(即订阅了这个订阅号的人)都会收到这个订阅号发出来的消息。以此来完成消息的推送。服务器其实是一个消息中转站。

3. 下载 apache-apollo

apache-apollo 下载地址:http://activemq.apache.org/apollo/download.html

需要下载应用于 Unix/Linux/OS X 的软件包 apache-apollo-1.7.1-unix-distro.tar.gz,如下:

9f74c35de810ec6a44ca1f146486690c.png

点击 apache-apollo-1.7.1-unix-distro.tar.gz 后进入 http://www.apache.org/dyn/closer.cgi?path=activemq/activemq-apollo/1.7.1/apache-apollo-1.7.1-unix-distro.tar.gz 页面,可以看到很多 apache-apollo-1.7.1-unix-distro.tar.gz 的下载链接,这里选择 HTTP 下的第一个下载链接下载,直接点击即可下载:

71241c39d5422d93b9adb98499f9ae43.png

4. 创建实例

将下载得到的软件包 apache-apollo-1.7.1-unix-distro.tar.gz 通过 FileZilla 上传到服务器的安装目录下,然后进行解压:

[root@instance-08fakiad bin]# tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz

接着进入到 apache-apollo-1.7.1 的 bin 目录下:

[root@instance-08fakiad mqtt]# cd apache-apollo-1.7.1/bin/

执行 ./apollo create mybroker 创建实例 mybroker,如下:

[root@instance-08fakiad bin]# ./apollo create mybrokerError: JAVA_HOME is not defined correctly.  We cannot execute java[root@instance-08fakiad bin]#

不过此时出现了错误,看错误提示,大概是因为 Linux 服务器没有安装好 Java 运行环境,安装 Java 运行环境的方法,查看“在 Linux 服务器运行 IntelliJ IDEA 开发的 Java 项目”的第2点“2、在 Linux(CentOS) 上安装 Java 环境(使用 yum 安装)”即可;

之后再次执行 ./apollo create mybroker:

[root@instance-08fakiad bin]# ./apollo create mybrokerCreating apollo instance at: mybrokerGenerating ssl keystore...Warning:The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12".You can now start the broker by executing:     "/home/mqtt/apache-apollo-1.7.1/bin/mybroker/bin/apollo-broker" runOr you can setup the broker as system service and run it in the background:   sudo ln -s "/home/mqtt/apache-apollo-1.7.1/bin/mybroker/bin/apollo-broker-service" /etc/init.d/   /etc/init.d/apollo-broker-service start[root@instance-08fakiad bin]#

提示信息没有出现错误提示了,虽然有一个 Warning,不过指令肯定是执行成功了,另外看提示信息,还说明了如何启动实例的方法,一种是直接启动,一种是设置 broker 作为系统服务,然后在后台中启动它;

5. 修改配置文件

编辑实例目录下的 etc 目录下的 apollo.xml 文件,如下:

[root@instance-08fakiad mqtt]# vim apache-apollo-1.7.1/bin/mybroker/etc/apollo.xml

    

改为:

    

6. 启动 apollo

创建好实例后,在 apache-apollo-1.7.1/bin 目录下会多出一个以实例名称命名的目录,如下:

[root@instance-08fakiad bin]# ls -lhatotal 24Kdrwxr-xr-x 3  501 games 4.0K Nov  9 16:37 .drwxr-xr-x 7  501 games 4.0K Jan 29  2015 ..-rwxr-xr-x 1  501 games 5.4K Jan 29  2015 apollo-rw-r--r-- 1  501 games 2.9K Jan 29  2015 apollo.cmddrwxr-xr-x 7 root root  4.0K Nov  9 16:37 mybroker

进入到 mybroker 目录下的 bin 目录:

[root@instance-08fakiad bin]# cd mybroker/bin/

可以看到目录中有以下内容:

[root@instance-08fakiad bin]# lsapollo-broker  apollo-broker-service

执行以下命令即可启动实例:

[root@instance-08fakiad mqtt]# ./apache-apollo-1.7.1/bin/mybroker/bin/apollo-broker run    _____                .__  .__   /  _  \ ______   ____ |  | |  |   ____  /  /_\  \\____ \ /  _ \|  | |  |  /  _ \/    |    \  |_> >  <_> )  |_|  |_(  <_> )\____|__  /   __/ \____/|____/____/\____/         \/|__|  Apache Apollo (1.7.1)Loading configuration file '/home/mqtt/apache-apollo-1.7.1/bin/mybroker/etc/apollo.xml'.INFO  | OS     : Linux 3.10.0-862.11.6.el7.x86_64 ("CentOS Linux release 7.3.1611 (Core) ")INFO  | JVM    : OpenJDK 64-Bit Server VM 1.8.0_191 (Oracle Corporation)INFO  | Apollo : 1.7.1 (at: /home/mqtt/apache-apollo-1.7.1)INFO  | OS is restricting the open file limit to: 100000INFO  | Accepting connections at: tcp://0.0.0.0:61613INFO  | Accepting connections at: tls://0.0.0.0:61614INFO  | Starting store: leveldb store at /home/mqtt/apache-apollo-1.7.1/bin/mybroker/dataINFO  | Accepting connections at: ws://0.0.0.0:61623/INFO  | Accepting connections at: wss://0.0.0.0:61624/INFO  | virtual host startup is waiting on store startupINFO  | virtual host startup is no longer waiting.  It waited a total of 1 seconds.INFO  | Administration interface available at: http://0.0.0.0:61680/INFO  | Administration interface available at: https://0.0.0.0:61681/

7. 验证

在浏览器中输入地址:http://182.61.23.46:61680/,会自动跳转到 http://182.61.23.46:61680/console/index.html

然后需要输入账号密码,默认的账号密码是 admin 和 password,如下:

2ff9cdcbe1f1db4d501c21a987958f9d.png

登录成功后,显示的界面如下:

53ca464c5415c11b46f5e7f736bb4283.png

662a25209f7c2ebcca8d45672a1cd4a2.png

12d62e5fae8db7b1533db58e071d8e45.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值