当前位置: 首页 > wzjs >正文

做网站 嵌入支付云浮网站设计

做网站 嵌入支付,云浮网站设计,网站视频放优酷里面怎么做,开发公司岗位职责一、首先要在三台物理机上分别搭建EMQX的实例 正常的安装是很简单的,并且有多种方式,我选取的是tar.gz安装包。 只需要把安装包解压tar -zxvf emqx-5.8.5xxx.tar.gz,然后进入到bin目录下,执行./emqx start即可。 1. 需要考虑操作…

一、首先要在三台物理机上分别搭建EMQX的实例

正常的安装是很简单的,并且有多种方式,我选取的是tar.gz安装包。
只需要把安装包解压tar -zxvf emqx-5.8.5xxx.tar.gz,然后进入到bin目录下,执行./emqx start即可。

1. 需要考虑操作系统版本,找到合适的安装包

https://www.emqx.com/zh/downloads/broker/v5.8.5
要考虑操作系统、版本、架构是否匹配。
比如我在openEuler 22.03 (LTS-SP4)上使用emqx-5.8.5-el8-amd64.tar.gz安装成功,但在CentOS Linux 7 (Core)上却安装不成功,后边换成了emqx-5.8.5-el7-amd64.tar.gz才可以。

2. 需要安装好相关依赖

比如我在openEuler 22.03 (LTS-SP4)上安装了以下依赖:

yum install -y make gcc g++ ncurses-devel openssl-devel git fcgi fcgi-devel unixODBC unixODBC-develrpm -ivh libatomic-4.8.5-44.el7.x86_64.rpm

在CentOS Linux 7 (Core)上安装时老报错:
ERROR: Required dependencies: openssl-1.1.1 (libcrypto), libncurses and libatomic1
于是安装了以下依赖:

yum install -y libatomicyum install -y epel-releaseyum install -y gcc gcc-c++ make cmake protobuf-compiler openssl-devel erlang erlang-nox

二、然后修改配置,将3个实例组织成一个集群

参考官网:https://docs.emqx.com/zh/emqx/v5.8/deploy/cluster/create-cluster.html
我这边采用的是基于 static 节点列表自动集群,只需要区分一下各个节点的名称node.name即可。

以下是我对三个实例的配置:

node {name = "emqx@192.168.0.1"cookie = "emqxsecretcookie"data_dir = "data"
}cluster {name = emqxcldiscovery_strategy = staticstatic {seeds = ["emqx@192.168.0.1","emqx@192.168.0.2","emqx@192.168.0.3"]}
}
node {name = "emqx@192.168.0.2"cookie = "emqxsecretcookie"data_dir = "data"
}cluster {name = emqxcldiscovery_strategy = staticstatic {seeds = ["emqx@192.168.0.1","emqx@192.168.0.2","emqx@192.168.0.3"]}
}
node {name = "emqx@192.168.0.3"cookie = "emqxsecretcookie"data_dir = "data"
}cluster {name = emqxcldiscovery_strategy = staticstatic {seeds = ["emqx@192.168.0.1","emqx@192.168.0.2","emqx@192.168.0.3"]}
}

cookie可以设置得复杂点,更安全。但需要确保集群内的这几个节点的cookie是一致的。

除此之外,需要确保节点间的网络连接正常。
5370:集群 RPC 端口,适用于物理机环境

可以使用iptables命令


## 查看当前iptables规则‌
sudo iptables -L -n## 添加规则允许5370端口
sudo iptables -A INPUT -p tcp --dport 5370 -j ACCEPT## 保存iptables规则, 执行iptables-save也行
sudo service iptables save

也可以确保1883、8883、18083这些端口也开放。
将三个节点以此启动,你就可以在三个控制面板上看到相同的集群节点列表了:
在这里插入图片描述
或者在任一节点上执行命令,查看集群状态:

./emqx ctl cluster status

Cluster status: #{running_nodes =>
[‘emqx@192.168.0.1’,‘emqx@192.168.0.2’,
‘emqx@192.168.0.3’],
stopped_nodes => []}

三、nginx的安装、配置和部署

参考官网:https://docs.emqx.com/zh/emqx/v5.8/deploy/cluster/lb-nginx.html

使用 NGINX 负载均衡 EMQX 集群具备以下几个功能和优势:
1.作为反向代理服务器,NGINX 位于 MQTT 服务器端,代表 MQTT 客户端向 EMQX 集群发起 MQTT 连接请求,并代替 EMQX 集群处理请求,然后将 EMQX 集群的响应返回给 MQTT 客户端。这样的设置可以将多个集群隐藏起来,暴露一个接入点给 MQTT 客户端。MQTT 客户端只需要与 NGINX 通信,而不需要知道后面的集群数量和布局,这种方式可以提高系统的可维护性和可扩展性。
2.NGINX 可用于终结 MQTT 客户端与 EMQX 集群之间经 SSL 加密的 MQTT 连接,减轻 EMQX 集群的加密解密负担。从而提供多种优势,如提高性能、简化证书管理和增强安全性。
3.NGINX 具有灵活的负载均衡策略,以使用不同的策略来决定请求应该发送到集群中的哪个 EMQX 节点,有助于分摊流量和请求,提高性能和可靠性。例如粘性负载平衡,可将请求路由到同一后端服务器,从而提高性能和会话持久性。

本来安装过nginx做过静态资源服务器和http的反向代理,想着照搬过来就行,但看了官网才知道,还需要附带一些模块才能支持tcp反向代理

–with-http_ssl_module 参数用于添加 SSL 功能支持,
–with-stream 与 --with-stream_ssl_module 参数用于添加 TCP 反向代理支持。

于是,就干脆照着官网上的建议重新安装了nginx

wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0/./configure  --with-threads  --with-http_stub_status_module   --with-http_ssl_module   --with-http_realip_module   --with-stream   --with-stream_ssl_modulemake
make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
cd sbin./nginx -t./nginx -s reload

特别需要注意的一点是,要设置代理协议为true
在这里插入图片描述


stream {upstream mqtt_servers {# down:表示当前的 server 暂时不参与负载# max_fails:允许请求失败的次数;默认为 1# fail_timeout:失败超时时间,默认 10s, max_fails 达到次数后暂停的请求时间# backup:其它所有的非backup机器down或者忙的时候,请求backup机器server 192.168.0.1:1883;server 192.168.0.2:1883;server 192.168.0.3:1883;}server {listen 10884;proxy_pass mqtt_servers;# 启用此项时,对应后端监听器也需要启用 proxy_protocolproxy_protocol on;proxy_connect_timeout 10s;   # 默认心跳时间为 10 分钟proxy_timeout 1800s;proxy_buffer_size 3M;tcp_nodelay on;       }upstream mqtts_servers {server 192.168.0.1:1883;server 192.168.0.2:1883;server 192.168.0.3:1883;}server {listen 20884 ssl;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;ssl_certificate /usr/local/NGINX/certs/server.crt;ssl_certificate_key /usr/local/NGINX/certs/server.key;ssl_verify_depth 2;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5;# 添加 CA 证书及开启验证客户端证书参数即可启用双向认证# ssl_client_certificate /usr/local/NGINX/certs/ca.pem;# ssl_verify_client on;# ssl_verify_depth 1;proxy_pass mqtts_servers;# 启用此项时,对应后端监听器也需要启用 proxy_protocolproxy_protocol on;proxy_connect_timeout 10s;   # 默认心跳时间为 10 分钟proxy_timeout 1800s;proxy_buffer_size 3M;tcp_nodelay on;}
}

四、集群的自测验证

  1. 采用nginx暴露出去的emqx集群地址,是否能平替之前的单节点地址?
    答: 可以。多个client都用这个集群地址去连接,它们之间是可以正常进行消息的收发的,而不论它们是否连到了集群的同一个节点上。

  2. 可以监听系统消息吗?
    答:可以。需要在控制台 【访问控制】 --> 【客户端授权】ACL File找中添加一行配置,然后对应用服务重启,以便可以重新订阅上系统主题。

{allow, {username, "zhangsan"}, subscribe, ["$SYS/#"]}.
  1. 集群相对于单点来说,高可用上有体现吗?
    答:有。手动stop其中一个节点时,连接会自动转移到其他节点上,不影响业务。
http://www.dtcms.com/wzjs/131980.html

相关文章:

  • 什么网站可以做数据图百度推广信息流有用吗
  • 音乐网站的音乐怎么做音乐试听百度 搜索热度
  • 临海最火自适应网站建设百度电商广告代运营
  • 平台类网站建设胡方案明细专业网络推广软件
  • 网站制作手机端关键词优化报价推荐
  • 制作网站需要哪些工作市场调研报告怎么写
  • 网站开发结束语seo是什么意思网络用语
  • 做化工回收上什么网站蚂蚁bt
  • 如何做网站搬运工赚钱游戏推广是什么工作
  • 怎样与其它网站做友情链接微博推广怎么做
  • wordpress网站新闻企业品牌网站营销
  • 深圳 高端网站建设宝安新东方一对一辅导价格
  • 网站建立要多少钱企业seo排名外包
  • 网站上点击图片局部放大如何做刷关键词排名seo
  • 需求登记网站怎么做企业管理咨询
  • 如何制作动态网站seo交流论坛
  • 工信部网站备案系统中国万网域名注册官网
  • 外贸网站电子建设常见的网络直接营销有哪些
  • 东莞网站建设哪里找青岛设计优化公司
  • php网站开发工程师任职要求百度推广登录官网入口
  • 常州做网站公司广州百度推广开户
  • 网站收藏做系统以后丢了免费制作网站
  • 那做网站关键词大全
  • 百度提交网站入口网址站长工具一区
  • 免费做微信链接的网站杭州最好的seo公司
  • 河北交通建设投资集团公司网站搜索引擎排名优化价格
  • 移动端网站建设公司百度统计app下载
  • 西安行业网站建设中和seo公司
  • 相册制作模板网站排名优化的技巧
  • 开发网站多少钱黑马培训是正规学校吗