首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在openshift网上运行mqtt经纪人

问如何在openshift网上运行mqtt经纪人
EN

Stack Overflow用户
提问于 2016-05-23 06:05:40
回答 2查看 1.5K关注 0票数 0

是否有人成功地在蚊虫上运行免费帐户中的openshift在线版本?

有两个问题是相关的,但并不能真正解决所有的问题:

到目前为止所做的事情:

  • 我已经运行了服务器,从而验证了openshift通过DIY墨盒很好地支持websocket。
  • 我还编译了蚊子,并与一个例子 离开github在本地运行。

从这里开始,让蚊子在openshift上运行的确切步骤是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-26 05:24:57

最后,我让它使用openshift,尽管使用了最简单的配置。以下是关键步骤:

  • 使用openshift DIY墨盒获取websocket支持,该支持公开外部端口8000,并在OPENSHIFT_DIY_IP指定的虚拟IP地址上路由到内部端口8080。
  • 使用config.mk中关闭的所有功能编译蚊子,以避免向openshift安装大量软件包:WITH_TLS、WITH_TLS_PSK、WITH_THREADING、WITH_BRIDGE、WITH_SRV、WITH_UUID、WITH_DOCS、WITH_SOCKS。
  • 修改“蚊子的Makefile”,将命令从DOCSDIR中删除。这似乎是蚊虫中的一个小问题,因为如果关闭了WITH_DOCS,就不应该尝试从DOCSDIR安装。
  • 打开WITH_WEBSOCKETS in config.mk。
  • 修改文件src/webockets.c。在大约625行的函数mosq_websockets_init()中,在info.user = user;行的下面添加一行info.iface = listener->host;。这是为了使蚊子能够绑定到虚拟IP地址的openshift DIY设备。默认情况下,蚊子只允许绑定到0.0.0.0以获取任何IP地址。这似乎是蚊子和libwebosocket之间的脱节。
  • 安装libwebsockets和libwebsockets-devel软件包。
  • 运行make来制造蚊子。
  • 让我们假设您希望将蚊子安装到../mosrun目录中。创建目录。运行make prefix= DESTDIR=$(pwd)/../mosrun install。
  • 删除../mosrun下的所有文件夹,但sbin除外。cd ../mosrun/sbin和cp /usr/lib/libwebsockets.so.7 ..调整您的股票libwebsockets的源路径。
  • 从https://github.com/jpmens/simple-mqtt-websocket-example抓取所有文件。将它们放到您的mosrun/sbin/simpleweb目录中。
  • 修改mosrun/sbin/simpleweb/config.js以使用您的openshift DIY域名和端口8000。这里是javascript从浏览器连接到DIY服务器的地方。
  • 创建一个蚊子配置文件mosrun/sbin/mosquitto.conf,其中包含四行:listener 8080 <OPENSHIFT_DIY_IP>、protocol websockets、http_dir simpleweb和connection_messages。使用您的实际DIY虚拟IP地址代替<OPENSHIFT_DIY_OP>。
  • 把整棵树复制到你的openshift DIY设备上。
  • 使用浏览器从浏览器浏览到您的DIY域,这样您将看到默认的服务器页面。
  • 修改openshift .openshift/action_hooks/start和.../stop脚本以注释现有命令。推到openshift。现在,您不应该能够连接到默认服务器,但设备正在运行。
  • 进入您的蚊子mosrun/sbin目录。
  • 运行LD_LIBRARY_PATH=. ./mosquitto -c mosquitto.conf -v启动蚊子。
  • 浏览到您的diy-yourdomain.rhcloud.com:8000/index.html。您将看到从jpmen的github复制的mqtt websockets测试页面。

下一步是将树移动到DIY git树中。修改开始和停止挂钩,以启动和停止您的蚊子,而不是默认的服务器。并在openshift设备上运行一个脚本,从实际的openshift环境变量创建config.js和mosquitto.conf。

两个帖子非常有助于引导你完成建立蚊子的步骤:jpman的博客和杰里米·古奇的博客。

票数 1
EN

Stack Overflow用户

发布于 2020-02-05 22:38:54

为了防止其他人浏览这篇文章,我在OpenShift v3.11:https://github.com/john2exonets/OpenShift-MQTT-Mosquitto上运行了一个非websocket

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37383603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档