1.EMQX-简介、源码安装部署、编译基础功能、安装python代码测试
2.linux系统怎么安装vim编辑器
3.Rabbitmq—centos7安装rabbitmq教程 以及 PHP开启rabbitmq扩展!
4..Net开发电脑安装相关工具软件
5.Erlang怎么安装?Windows下erlang otp 21安装步骤详解+环境变量配置
6.CentOS7下安装erlang和rabbitmq
EMQX-简介、源码安装部署、编译基础功能、安装反汇编源码python代码测试
MQTT属于是源码物联网的通信协议,在MQTT协议中有两大角色:客户端(发布者/订阅者),编译服务端(Mqtt broker);针对客户端和服务端需要有遵循该协议的安装的具体实现,EMQ/EMQX就是源码MQTT Broker的一种实现。
EMQX是编译基于 Erlang/OTP 平台开发的 MQTT 消息服务器,是安装开源社区中最流行的 MQTT 消息服务器。EMQ X 是源码开源百万级分布式 MQTT 消息服务器(MQTT Messaging Broker),用于支持各种接入标准 MQTT协议的编译设备,实现从设备端到服务器端的安装消息传递,以及从服务器端到设备端的设备控制消息转发。从而实现物联网设备的数据采集,和对设备的操作和控制。
到目前为止,比较流行的 MQTT Broker 有几个:使用 C 语言实现的 MQTT Broker,使用 Erlang 语言开发的 MQTT Broker,使用 Node.JS 开发的 MQTT Broker,同样使用 Erlang 开发的 MQTT Broker。从支持 MQTT5.0、稳定性、扩展性、集群能力等方面考虑,EMQX 的表现应该是最好的。
与别的MQTT服务器相比EMQ X 主要有以下的特点:经过+版本的迭代,EMQ X 目前为开源社区中最流行的 MQTT 消息中间件,在各种客户严格的生产环境上经受了严苛的考验;支持丰富的物联网协议,包括 MQTT、MQTT-SN、CoAP、 LwM2M、LoRaWAN 和 WebSocket等;优化的架构设计,支持超大规模的设备连接。企业版单机能支持百万的idcphp源码 MQTT 连接;集群能支持千万级别的 MQTT 连接;易于安装和使用;灵活的扩展性,支持企业的一些定制场景;中国本地的技术支持服务,通过微信、QQ等线上渠道快速响应客户需求;基于 Apache 2.0 协议许可,完全开源。EMQ X 的代码都放在 Github 中,用户可以查看所有源代码;EMQ X 3.0 支持 MQTT 5.0 协议,是开源社区中第一个支持 5.0协议规范的消息服务器,并且完全兼容 MQTT V3.1 和 V3.1.1 协议。除了 MQTT 协议之外,EMQ X 还支持别的一些物联网协议;单机支持百万连接,集群支持千万级连接;毫秒级消息转发。EMQ X 中应用了多种技术以实现上述功能;利用 Erlang/OTP 平台的软实时、高并发和容错(电信领域久经考验的语言);全异步架构;连接、会话、路由、集群的分层设计;消息平面和控制平面的分离等;扩展模块和插件,EMQ X 提供了灵活的扩展机制,可以实现私有协议、认证鉴权、数据持久化、桥接发和管理控制台等的扩展;桥接:EMQ X 可以跟别的消息系统进行对接,比如 EMQ X Enterprise 版本中可以支持将消息转发到 Kafka、RabbitMQ 或者别的 EMQ 节点等;共享订阅:共享订阅支持通过负载均衡的方式在多个订阅者之间来分发 MQTT 消息。比如针对物联网等 数据采集场景,会有比较多的设备在发送数据,通过共享订阅的方式可以在订阅端设置多个订阅者来实现这几个订阅者之间的工作负载均衡。
典型的物联网平台包括设备硬件、数据采集、数据存储、分析、Web / 移动应用等。EMQX 位于数据采集这一层,分别与硬件和数据存储、分析进行交互,是物联网平台的核心:前端的硬件通过 MQTT 协议与位于数据采集层的 EMQX 交互,通过 EMQX 将数据采集后,通过 EMQX 提供的江湖 源码数据接口,将数据保存到后台的持久化平台中(各种关系型数据库和 NOSQL 数据库),或者流式数据处理框架等,上层应用通过这些数据分析后得到的结果呈现给最终用户。
EMQX 公司主要提供三个产品,可在官网首页产品导航查看每一种产品;主要体现在支持的连接数量、产品功能和商业服务等方面的区别。
完整的 MQTT V3.1/V3.1.1 及 V5.0 协议规范支持;QoS0, QoS1, QoS2 消息支持;持久会话与离线消息支持;Retained 消息支持;Last Will 消息支持;TCP/SSL 连接支持;MQTT/WebSocket/SSL 支持;HTTP 消息发布接口支持;$SYS/# 系统主题支持;客户端在线状态查询与订阅支持;客户端 ID 或 IP 地址认证支持;用户名密码认证支持;LDAP 认证;Redis、MySQL、PostgreSQL、MongoDB、HTTP 认证集成;浏览器 Cookie 认证;基于客户端 ID、IP 地址、用户名的访问控制 (ACL);多服务器节点集群 (Cluster);支持 manual、mcast、dns、etcd、k8s 等多种集群发现方式;网络分区自动愈合;消息速率限制;连接速率限制;按分区配置节点;多服务器节点桥接 (Bridge);MQTT Broker 桥接支持;Stomp 协议支持;MQTT-SN 协议支持;CoAP 协议支持;Stomp/SockJS 支持;延时 Publish ($delay/topic);Flapping 检测;黑名单支持;共享订阅 ($share/:group/topic);TLS/PSK 支持;规则引擎;空动作 (调试);消息重新发布;桥接数据到 MQTT Broker;检查 (调试);发送数据到 Web 服务。
EMQ X 目前支持的操作系统:Centos6、Centos7、OpenSUSE tumbleweed、Debian 8、Debian 9、Debian 、Ubuntu .、Ubuntu .、Ubuntu .、macOS .、macOS .、macOS .、Windows Server 。产品部署建议 Linux 服务器,不推荐 Windows 服务器。安装的方式有很多种,可供自由选择:Shell脚本安装、包管理器安装、二进制包安装、ZIP压缩包安装、源码 erpHomebrew安装、Docker运行安装、Helm安装、源码编译安装。
Dashboard界面查看基本信息。
身份认证是大多数应用的重要组成部分,MQTT 协议支持用户名密码认证,启用身份认证能有效阻止非法客户端的连接。EMQ X 中的认证指的是当一个客户端连接到 EMQ X 的时候,通过服务器端的配置来控制客户端连接服务器的权限。EMQ X 的认证支持包括两个层面:MQTT 协议本身在 CONNECT 报文中指定用户名和密码,EMQ X 以插件形式支持基于 Username、ClientID、HTTP、JWT、LDAP 及各类数据库如 MongoDB、MySQL、PostgreSQL、Redis 等多种形式的认证;在传输层上,TLS 可以保证使用客户端证书的客户端到服务器的身份验证,并确保服务器向客户端验证服务器证书。也支持基于 PSK 的 TLS/DTLS 认证。
EMQ X 支持使用内置数据源(文件、内置数据库)、JWT、外部主流数据库和自定义 HTTP API 作为身份认证数据源。连接数据源、进行认证逻辑通过插件实现的,每个插件对应一种认证方式,使用前需要启用相应的插件。客户端连接时插件通过检查其 username/clientid 和 password 是否与指定数据源的信息一致来实现对客户端的身份认证。(v5.0以上默认集成)EMQ X 支持的认证方式:内置数据源、外部数据库、其他。认证结果:认证成功、认证失败、忽略认证(ignore)。vlcqt源码
EMQ X 默认配置中启用了匿名认证,任何客户端都能接入 EMQ X。没有启用认证插件或认证插件没有显式允许/拒绝(ignore)连接请求时,EMQ X 将根据匿名认证启用情况决定是否允许客户端连接。
可以订阅多个主题。
安装 paho-mqtt:导入 Paho MQTT 客户端。
通过TCP连接:设置 broker、port、topic、client_id,连接 MQTT Broker。
通过SSL/TLS连接:设置 broker、port、topic、client_id,连接 MQTT Broker,使用 CA certificate,设置用户名密码。
订阅主题:设置 on_message 回调函数,当收到消息时执行。
取消订阅:通过以下代码取消订阅,此时应指定取消订阅的主题。
发布消息:通过以下代码发布消息,设置消息内容、主题,调用 publish 方法。
接收消息:通过以下代码指定客户端对消息事件进行监听,并在收到消息后执行回调函数,将接收到的消息及其主题打印到控制台。
断开连接:如客户端希望主动断开连接,可以通过如下代码实现。
完整代码:导入 random、time、paho.mqtt.client as mqtt_client,设置 broker、port、topic、client_id,连接 MQTT Broker,设置 on_connect 回调函数,设置 publish 回调函数,运行客户端。
linux系统怎么安装vim编辑器
1、下载vim源码:从vim的官方网站下载vim的安装源码包。
2、解压安装包:下载的安装包是经过压缩的tar格式,在linux可以使用自带的工具tar进行解压,在安装包所在目录执行命令:tar-zxvfvim-7.4.tar。
3、配置安装变量:打开解压后的目录-执行命令:cdvim;配置安装环境-执行命令:./configure--prefix=/usr/local/servers/vim,“/usr/local/servers/vim”是安装路径。
4、编译源码:在解压目录执行编译命令:make。
5、安装vim:切换到root用户-执行命令:sudosuroot;安装-执行命令:makeinstall创建软链:执行命令:ln-s/usr/local/servers/erlang/bin/vim/usr/local/bin/vim。
6、启动vim:执行命令vim,如下图安装成功。
通过以上步骤操作,那么就可以在linux系统上安装vim编辑器了,希望能帮到大家。
Rabbitmq—centos7安装rabbitmq教程 以及 PHP开启rabbitmq扩展!
这是一篇关于在CentOS 7上安装RabbitMQ以及PHP启用rabbitMQ扩展的教程,我大约在年上半年发布在个人博客和简书等平台,现将其同步至掘金。如有不足之处,恳请读者指正。
选择分享这些关于消息队列技术的文章,是因为它们在面试中常被提及,如Kafka、RabbitMQ、RocketMQ。当时的工作涉及搭建mq集群和PHP与swool的项目集成,处理的是一亿级别的消息量。未来可能还会分享更多实战内容。
首先,RabbitMQ基于Erlang语言,因此需要安装Erlang。然后,通过官网教程安装rabbitMQ-server并启动服务,但需注意配置维护插件和远程访问权限。
通过`rabbitmqctl`执行基础命令,安装维护插件并修改配置文件,允许远程访问。登录web端后,可以查看和管理RabbitMQ的运行状态。
对于PHP,需要安装rabbitmq-c扩展。我最初提供的是v0..0版本的链接,但请检查最新版本。如果遇到编译问题,可能需要先运行autoreconf -ivf,然后按照步骤安装。
最后,介绍了amqp扩展的安装,以及相关参数的概念。虽然文章有些陈旧,但核心流程依然适用。希望读者能对RabbitMQ有基本了解,如果本文对你有所帮助,请在评论区留下反馈。
在个人公众号「我是阿沐」中,我会分享更多的技术知识和学习笔记,期待你的关注和交流。感谢阅读,下期再见。
.Net开发电脑安装相关工具软件
在.Net开发过程中,安装一系列必要的工具软件至关重要。以下是一些常用的软件:
ad域,反编译工具,数据库相关软件,IntelliJ IDEA,Redis数据库,***,截图工具,上位机模拟工具,远程连接工具,JDK,接口测试工具,取色工具,清除垃圾的批处理文件,Git版本控制工具,Linux远程连接工具,播放器,PowerDesigner设计工具,Notepad++文本编辑器,Outlook和Foxmail邮箱工具,Linux远程连接工具Mobax,文件对比工具,Linux文件上传工具,Erlang安装包,MQ消息队列,抓包工具Fiddler,dbview数据库连接工具,文件上传工具,打印驱动程序。
除此之外,还有一些其他常用的软件,如腾讯会议,WPS办公软件,Redis管理工具,SQL Server数据库,SSMS SQL Service数据库管理工具,Visual Studio Code,Visual Studio Studio,有道笔记管理日常工作,办公软件,Axure RP,MySQL客户端工具,Visio绘图工具,Linux操作系统,Oracle数据库。
此外,Python开发环境PyCharm,Sublime Text文本编辑器,WinRAR压缩工具,Xmind思维导图工具,以及反编译工具也是开发中不可或缺的。
以下是部分软件的下载地址:
下载地址 下载地址
下载地址 下载地址
Erlang怎么安装?Windows下erlang otp 安装步骤详解+环境变量配置
Erlang是一种通用的面向并发的编程语言,由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断 的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。
安装教程1、下载安装软件erlang otp,next下一步
2、选择安装目录
3、选择启动文件,安装
4、安装中
5、安装完成
配置系统环境:1、打开计算机→属性→高级系统设置→高级→环境变量
2、新建一个系统变量:名称ERLANG_HOME,值为本机中erlang的安装目录。
然后再在用户变量PATH中添加上%ERLANG_HOME%\bin;
3、查看安装是否成功:cmd然后erl -version
CentOS7下安装erlang和rabbitmq
1、首先在usr/local目录下创建一个erlang目录,并进入该目录
2、在此目录下下载最新版本的erlang,当前版本为.0
3、下载完成后,检查目录内容
4、解压下载的文件
5、由于编译安装Erlang对环境有要求,为避免编译时出现软件包未安装的错误,预先使用yum安装Erlang所需的软件包
yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel -y
yum install openssl-devel zlib-devel –y
yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel
执行完上述三条yum命令后,开始编译安装erlang
回到创建的erlang目录,进入解压后的文件夹
6、执行configure命令,指定安装目录为/opt/erlang
./configure --prefix=/opt/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
出现以下内容表示配置完成
7、使用make命令进行编译
make && make install
编译过程可能需要大约分钟
安装完成后,创建软连接
ln -s /opt/erlang/bin/erl /usr/local/bin/erl
测试Erlang安装是否成功,进入/usr/local/bin目录
erl
出现如下提示信息,表示Erlang安装成功
Erlang/OTP [erts-9.0] [source] [-bit] [smp:1:1] [ds:1:1:] [async-threads:] [hipe] [kernel-poll:false]
Eshell V9.0 (abort with ^G)
1>
在1>后输入EvenN = lists:filter (fun (N) -> N rem 2 == 0 end, lists:seq (1,)).
出现以下提示信息
[2,4,6,8,,,,,,,,,,,,,,,,,,
,,,,,,,|...]
2>
输入halt().
此时,Erlang已安装成功,接下来修改环境变量
vim /etc/profile
在文件末尾输入以下信息
ERLANG_HOME=opt/erlang
PATH=$ERLANG_HOME/bin:$PATH
export ERLANG_HOME
export PATH
保存并退出文件,然后重新激活环境变量
source /etc/profile
验证环境变量是否已追加成功
echo $ERLANG_HOME
echo $PATH
OK,Erlang安装完成。
下载最新版本的rabbitmq,当前最新版本为3.6.
回到erlang目录下,使用命令
wget rabbitmq.com/releases/r...
在执行wget命令时,如果出现openssl版本过低,需要更新的错误,使用命令yum update -y wget,更新完成后再次执行wget命令
查看下载的文件
下载的文件名为rabbitmq-server-generic-unix-3.6..tar.xz,需要安装xz解压软件
yum -y install xz
解压rabbitmq
xz -d rabbitmq-server-generic-unix-3.6..tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6..tar
将解压后的文件移动到安装目录
mv rabbitmq_server-3.6. /opt/
进入rabbitmq的sbin目录,有两种启动方式:前台启动和后台启动
命令分别是
前台启动:./rabbitmq-server
后台启动:./rabbitmq-server -detached
开启插件管理页面:./rabbitmq-plugins enable rabbitmq_management
关闭服务:./rabbitmqctl stop
设置登录账号和密码
./rabbitmqctl add_user admin
设置用户类型
./rabbitmqctl set_user_tags admin administrator
设置用户权限
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
由于使用页面管理,启动后开启页面插件,并关闭防火墙,使用ip地址登录
输入设置的账号和密码进行登录
看到右上角的账号和版本信息,表示rabbitmq已成功运行