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

如何建立游戏网站wordpress后台菜单管理

如何建立游戏网站,wordpress后台菜单管理,桂林微代码网络科技有限公司,南京广告传媒公司有哪些接上篇#xff1a;《RabbitMQ 从入门到精通#xff1a;从工作模式到集群部署实战#xff08;一#xff09;》 链接 文章目录 4.安装RabbitMQ Messaging Topology Operator 裸金属环境部署RabbitMQ部署单实例部署集群 4.安装RabbitMQ Messaging Topology Operator 使用 cer…接上篇《RabbitMQ 从入门到精通从工作模式到集群部署实战一》 链接 文章目录 4.安装RabbitMQ Messaging Topology Operator 裸金属环境部署RabbitMQ部署单实例部署集群 4.安装RabbitMQ Messaging Topology Operator 使用 cert-manager 安装Messaging Topology Operator 在k8s集群上安装 cert-manager 版本 1.2.0。例如对于版本 1.3.1请运行 wget https://github.com/jetstack/cert-manager/releases/download/v1.3.1/cert-manager.yamlkubectl apply -f cert-manager.yaml要安装 Operator请运行以下命令 wget https://github.com/rabbitmq/messaging-topology-operator/releases/latest/download/messaging-topology-operator-with-certmanager.yamlkubectl apply –f messaging-topology-operator-with-certmanager.yaml使用生成的自有证书安装Messaging Topology Operator 此方式因涉及自建私有证书具体步骤可以参考官方文档 https://www.rabbitmq.com/kubernetes/operator/install-topology-operator#install-with-generated-certificates 使用Kubernetes 内部非默认域名 默认情况下Kubernetes 内部域名为.cluster.local。kubeadm可以将其配置为其他名称例如my.cluster.domain。在这种情况下Messaging Topology Operator可以将自定义域名附加到用于与 RabbitMQ 交互的连接字符串中。 要配置消息传递拓扑操作员以在连接字符串中附加域名请将环境变量设置MESSAGING_DOMAIN_NAME为您的域名例如.my.cluster.domain。 修改Messaging Topology Operator部署清单文件在Deployment配置段中向spec. template… spec. container. Command增加一个env名称MESSAGING_DOMAIN_NAME和值为您的域名如messaging-topology-operator-with-certmanager.yaml apiVersion: apps/v1 kind: Deployment metadata:[...]name: messaging-topology-operatornamespace: rabbitmq-system spec:template:[...]spec:containers:- command:- /managerenv:- name: OPERATOR_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: MESSAGING_DOMAIN_NAMEvalue: my.cluster.domainMessaging Topology Operator使用 创建queue和Policy 以下清单将在namepace名为rabbitmq-test下默认虚拟主机中创建一个名为“queue-t1-rabbitmq-test”的队列 cat queue-t1-rabbitmq-test.yamlapiVersion: rabbitmq.com/v1beta1 kind: Queue metadata:name: queue-t1namespace: rabbitmq-test spec:name: queue-t1-rabbitmq-testautoDelete: falsedurable: truerabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-test kubectl apply -f queue-t1-rabbitmq-test.yaml queue.rabbitmq.com/queue-t1 createdkubectl get queue -n rabbitmq-test NAME AGE queue-t1 17s以下清单将在namepace名为rabbitmq-test下创建名为“policy-example”的policy cat policy.yamlapiVersion: rabbitmq.com/v1beta1 kind: Policy metadata:name: policy-examplenamespace: rabbitmq-test spec:name: lazy-queuepattern: ^lazy-queue- # matches any queue begins with lazy-queue-applyTo: queuesdefinition:queue-mode: lazyrabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-testkubectl apply -f policy.yaml policy.rabbitmq.com/policy-example createdkubectl get policy -n rabbitmq-test NAME AGE policy-example 54s创建exchange和binding 以下清单将在namepace名为rabbitmq-test下创建名为“rabbitmq-test”的exchange cat exchange.yaml cat exchange.yamlapiVersion: rabbitmq.com/v1beta1 kind: Exchange metadata:name: fanoutnamespace: rabbitmq-test spec:name: fanout-exchange # name of the exchangetype: fanout # default to direct if not provided; can be set to direct, fanout, headers, and topicautoDelete: falsedurable: truerabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-testkubectl apply -f exchange.yaml exchange.rabbitmq.com/fanout createdkubectl get exchange -n rabbitmq-test NAME AGE fanout 13s以下清单将在namepace名为rabbitmq-test下将名为“rabbitmq-test”的exchange与名为“queue-t1-rabbitmq-test”的queue 进行绑定 cat binding.yamlapiVersion: rabbitmq.com/v1beta1 kind: Binding metadata:name: bindingnamespace: rabbitmq-test spec:source: fanout-exchange # an existing exchangedestination: queue-t1-rabbitmq-test # an existing queuedestinationType: queue # can be queue or exchangeroutingKey: queue-t1-rabbitmq-testrabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-testkubectl apply -f binding.yaml binding.rabbitmq.com/binding created创建的binding无法通过kubectl 命令列出但通过RabbitMQ的管理UI可以看到。 创建用户及授权 可以使用 Messaging Topology Operator 创建 RabbitMQ 用户并分配用户权限 对账号(admin-user01)、密码(123123.com)进行base64加密 echo -n admin-user01 | base64 YWRtaW4tdXNlcjAxecho -n 123123.com | base64 MTIzMTIzLmNvbQ创建secret vim secret-admin-user01.yamlapiVersion: v1 kind: Secret metadata:name: admin-user-secretnamespace: rabbitmq-test # 指定rabbitmq-cluster01的namespace type: Opaque data:username: YWRtaW4tdXNlcjAx # base64 编码后的用户名password: MTIzMTIzLmNvbQ # base64 编码后的密码kubectl apply -f secret-admin-user01.yaml secret/admin-user01-secret created创建Rabbitmq 账号资源需要引用上面步骤创建的secret vim my-admin-user01.yamlapiVersion: rabbitmq.com/v1beta1 kind: User metadata:name: my-admin-user01namespace: rabbitmq-test spec:tags:- administratorrabbitmqClusterReference:name: rabbitmq-cluster01 # rabbitmqCluster must exist in the same namespace as this resourcenamespace: rabbitmq-testimportCredentialsSecret:name: admin-user01-secret # must match the name of the Secretkubectl apply -f my-admin-user01.yaml user.rabbitmq.com/my-admin-user01 created创建Rabbitmq 账号授权资源 vim permission-admin-user10.yamlapiVersion: rabbitmq.com/v1beta1 kind: Permission metadata:name: admin-user01-permissionnamespace: rabbitmq-test spec:vhost: /user: admin-user01 # name of the RabbitMQ userpermissions:write: .*configure: .*read: .*rabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-testkubectl apply -f permission-admin-user10.yaml permission.rabbitmq.com/admin-user01-permission created创建虚拟主机 以下YAML将在名为“rabbitmq-cluster01”的 RabbitmqCluster 中创建名为“test”的虚拟主机 vim vhost01.yamlapiVersion: rabbitmq.com/v1beta1 kind: Vhost metadata:name: test-vhost01 # name of this custom resourcenamespace: rabbitmq-test spec:name: test01 # name of the vhostrabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-testkubectl apply -f vhost01.yaml vhost.rabbitmq.com/test-vhost01 createdkubectl get vhost -n rabbitmq-test NAME AGE test-vhost01 2s更新 一些自定义资源属性是不可变的Messaging Topology Operator 实现了验证 webhook 来阻止对不可变字段的更新。禁止的更新将被拒绝。例如 kubectl apply -f test-queue.yaml Error from server (Forbidden): ... Resource: rabbitmq.com/v1beta1, Resourcequeues, GroupVersionKind: rabbitmq.com/v1beta1, KindQueue Name: example, Namespace: rabbitmq-system for: test-queue.yaml: admission webhook vqueue.kb.io denied the request: Queue.rabbitmq.com example is forbidden: spec.name: Forbidden: updates on name, vhost, and rabbitmqClusterReference are all forbidden无法更新的属性已记录在Messaging Topology Operator API 文档中URLhttps://github.com/rabbitmq/messaging-topology-operator/blob/main/docs/api/rabbitmq.com.ref.asciidoc 删除 删除自定义资源会删除 RabbitMQ 集群中相应的资源。Messaging Topology Operator 会在所有自定义资源上设置 kubernetes finalizers。如果对象已在 RabbitMQ 集群中删除或者 RabbitMQ 集群已删除Messaging Topology Operator 会删除自定义资源而不会尝试删除 RabbitMQ 对象。 跨命名空间 默认情况下Messaging Topology Operator 只协调使用RabbitMQ Cluster Kubernetes Operator 创建的RabbitMQ集群所在namespace下的创建消息拓扑资源请求。如果需要创建的建消息拓扑资源在其他的namesapce需要在namespace 下添加相关注解annotations.rabbitmq.com/topology-allowed-namespaces 如下图RabbitMQ集群所在的的namespace为rabbitmq-test如果需要Messaging Topology Operator 额外协调rabbitmq-01和rabbitmq-02 两个namespace下消息拓扑资源需要进行如下配置多个namespace使用逗号分隔中间不能有空格。可以设置为“*”则为协调所有namesapce apiVersion: rabbitmq.com/v1beta1 kind: RabbitmqCluster metadata:name: rabbitmq-cluster01namespace: rabbitmq-testannotations:rabbitmq.com/topology-allowed-namespaces: rabbitmq-01,rabbitmq-02如果在没有允许的namespace中创建消息拓扑资源如下图中为“my-app2”Topology Operator 的pod会有相关日志提示 示例如下 在namespace为my-app2下创建名称为queue-t1的queue, 在rabbitmq中的名称为queue-t1-my-app2 apiVersion: rabbitmq.com/v1beta1 kind: Queue metadata:name: queue-t1 # name of this custom resource; does not have to the same as the actual queue namenamespace: my-app2 spec:name: queue-t1-my-app2 # name of the queuerabbitmqClusterReference:name: rabbitmq-cluster01namespace: rabbitmq-test虽然使用kuberct 命令在namespace可以获取到列表 但在rabbitmq中没有创建名字为queue-t1-my-app2的queue 故障排查 如果无法创建某些 RabbitMQ 拓扑对象可通过Messaging Topology Operator 的pod日志进行排查。 kubectl -n rabbitmq-system logs -l app.kubernetes.io/namemessaging-topology-operator另外还可以使用kubectl desribe命令查看资源的详细信息 kubectl describe queue queue-t1 -n rabbitmq-testName: queue-t1 Namespace: rabbitmq-test Labels: none Annotations: none API Version: rabbitmq.com/v1beta1 Kind: Queue Metadata:Creation Timestamp: 2024-10-25T09:46:27ZFinalizers:deletion.finalizers.queues.rabbitmq.com …Vhost: / Status:Conditions:Last Transition Time: 2024-10-25T09:46:27ZReason: SuccessfulCreateOrUpdateStatus: TrueType: ReadyObserved Generation: 2 Events:Type Reason Age From Message- - - -Normal SuccessfulDeclare 7h2m (x6 over 47h) queue-controller Successfully declare queue裸金属环境部署RabbitMQ OS及内核 [rootrbt01 ~]# cat /etc/redhat-release BigCloud Enterprise Linux For Euler release 21.10 (LTS-SP2)[rootrbt01 ~]# uname -a Linux rbt01 4.19.90-2107.6.0.0208.16.oe1.bclinux.x86_64 #1 SMP Tue Jul 18 10:06:28 CST 2023 x86_64 x86_64 x86_64 GNU/LinuxErlang和RabbitMQ版本匹配关系参考官方文档 https://www.rabbitmq.com/docs/3.13/which-erlang#redhat 本文档选用Erlangv26.2.5.4和RabbitMQ: v3.13.7 部署单实例 关闭防火墙 systemctl stop firewalld systemctl disable firewalld安装Erlang Erlang官方推荐使用各系统平台预安装包进行安装Euler 21.10使用以下rmp包进行安装下载地址https://github.com/rabbitmq/erlang-rpm/releases/download/v26.2.5.4/erlang-26.2.5.4-1.el7.x86_64.rpm 执行安装及通过验证版本号测试是否安装成功 # 安装 yum install erlang-26.2.5.4-1.el7.x86_64.rpm# 查看版本 erl -version Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 14.2.5.4部署RabbitMQ 二进制包下载地址 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.7/rabbitmq-server-generic-unix-3.13.7.tar.xz 创建rabbitmq普通用户并设置密码用于管理rabbitmq useradd rabbitmq passwd rabbitmq解压下载好的二进制安装包到/opt目录下并做软连接 tar xf rabbitmq-server-generic-unix-3.13.7.tar.xz -C /opt/ cd /opt/ ln -s /opt/rabbitmq_server-3.13.7/ /opt/rabbitmq ln -s /opt/rabbitmq/sbin/* /usr/local/sbin/安装完成后默认没有配置文件可以从官网下载示例放到/opt/rabbitmq/etc/rabbitmq下 https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbit/docs/rabbitmq.conf.example 可以根据实际需要参考下面的官方文档进行参数配置 https://www.rabbitmq.com/docs/3.13/configure#config-items 修改rabbitmq 目录权限 chown –R rabbitmq:rabbitmq /opt/rabbitmq*使用rabbitmq账号并启动服务 su – rabbitmq rabbitmq-server -detached查看服务进程及监听端口号默认会监听567225672 两个端口 5672用于接受rabbitmq 客户端连接请求 25672 用于集群模式下集群间通信 关闭服务命令 rabbitmqctl shutdown启动web管理插件实现web 浏览器图形界面管理。 rabbitmq-plugins enable rabbitmq_management启动web管理插件插件后RabbitMQ会另外启动15672端口用户web服务。 使用服务器IP和15672端口访问web管理页面。 创建账号密码并设置权限 以下命令创建了admin账号并设置密码为Admin.123将其标记为administrator并设置了对/ 有所有权限 rabbitmqctl add_user admin Admin.123 rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin .* .* .*使用admin账号登录web管理页面 解决web管理界面提示 ⚠ All stable feature flags must be enabled after completing an upgrade. [Learn more] 导航到特性标志页面 在RabbitMQ管理界面的左侧菜单中找到并点击“Admin”选项。 在“Admin”页面中找到并点击“Feature Flags”选项。启用特性标志 在“Feature Flags”页面中你会看到一个列表其中包含了所有可用的特性标志。 检查每个特性标志的状态确保所有标记为“stable”稳定的特性标志都被启用。如果发现有未启用的稳定特性标志请将其启用。 列出功能标志 rabbitmqctl list_feature_flags要启用功能标志或所有当前禁用的标志 rabbitmqctl enable_feature_flag all | name 开启detailed_queues_endpoint 功能标志 rabbitmqctl enable_feature_flag detailed_queues_endpointFeature Flags介绍 官方文档https://www.rabbitmq.com/docs/3.13/feature-flags 功能标记是一种机制用于控制哪些功能在所有集群节点上被视为已启用或可用。如果启用了功能标记则其相关功能或行为也会启用。如果没有启用则集群中的所有节点都将禁用该功能行为。 功能标志子系统允许不同版本的 RabbitMQ 节点确定它们是否兼容然后相互通信尽管它们具有不同的版本因此可能具有不同的功能集或实现细节。 引入此子系统是为了允许在不关闭整个集群的情况下对集群成员进行滚动升级。 至此RabbitMQ单实例部署完成。 部署集群 服务器列表 3个节点保持一致 [rootrbt01 ~]# tail -n 3 /etc/hosts 192.168.18.11 rbt01 192.168.18.12 rbt02 192.168.18.13 rbt03分别在3个节点按照“单实例部署”步骤部署完成 参考上面章节 所有节点配置主机域名解析 vim /etc/hosts 192.168.18.11 rbt01 192.168.18.12 rbt02 192.168.18.13 rbt03节点间同步cookie文件 Erlang cookie 是用于RabbitMQ 节点和CLI 工具之间身份验证的共享密钥。该值存储在通常称为 Erlang cookie 文件的文件中。 服务帐户和运行用户使用的 Cookie 文件rabbitmqctl必须同步CLI 工具才能rabbitmqctl正常运行。集群中的所有节点必须具有相同的 Cookie 值Cookie 文件内容。 同步cooker前确保rabbitmq进程是关闭状态。 [rootrbt01 ~]# rabbitmqctl shutdown[rootrbt02 ~]# rabbitmqctl shutdown[rootrbt03 ~]# rabbitmqctl shutdown 在 UNIX 系统上cookie 通常位于$HOME/.erlang.cookie 如果使用rabbitmq普通用户启动rabbitmq服务.erlang.cookie文件的路径为/home/rabbitmq/.erlang.cookie .erlang.cookie 文件内容可以是自定义的字符串 将rbt01节点上/home/rabbitmq/.erlang.cookie 文件复制到rbt02,rbt03 [rootrbt01 ~]# scp .erlang.cookie rbt02:$PWD .erlang.cookie [rootrbt01 ~]# scp .erlang.cookie rbt03:$PWD .erlang.cookie 并确保所有节点/home/rabbitmq/.erlang.cookie的属主属组是rabbitmq 权限是400 chown –R rabbit:rabbit /home/rabbitmq/.erlang.cookie chmod 400 /home/rabbitmq/.erlang.cookie配置集群方式一在配置文件中增加如下配置 /opt/rabbitmq/etc/rabbitmq/rabbitmq.conf cluster_name rbt-cluster01 cluster_formation.peer_discovery_backend rabbit_peer_discovery_classic_configcluster_formation.classic_config.nodes.1 rabbitrbt01 cluster_formation.classic_config.nodes.2 rabbitrbt02 cluster_formation.classic_config.nodes.3 rabbitrbt03在所有节点启动服务集群将自动形成 [rabbitmqrbt01 ~]$ rabbitmq-server –detached[rabbitmqrbt02 ~]$ rabbitmq-server –detached[rabbitmqrbt03 ~]$ rabbitmq-server –detached在rbt01节点日志中查看有相关日志 2024-11-05 11:23:41.79389708:00 [info] 0.734.0 node rabbitrbt02 up 2024-11-05 11:23:43.06648008:00 [info] 0.734.0 rabbit on node rabbitrbt02 up 2024-11-05 11:24:01.29492708:00 [info] 0.734.0 node rabbitrbt03 up 2024-11-05 11:24:02.70585008:00 [info] 0.734.0 rabbit on node rabbitrbt03 up配置集群方式二不需在rabbitmq.conf配置文件定义使用以下命令配置集群 将rbt02节点加入集群 [rabbitmqrbt02 ~]$ rabbitmqctl stop_app Stopping rabbit application on node rabbitrbt02 ...[rabbitmqrbt02 ~]$ rabbitmqctl join_cluster rabbitrbt01 Clustering node rabbitrbt02 with rabbitrbt01[rabbitmqrbt02 ~]$ rabbitmqctl start_app Starting node rabbitrbt02 ...将rbt03节点加入集群 [rabbitmqrbt03 ~]$ rabbitmqctl stop_app Stopping rabbit application on node rabbitrbt03 ...[rabbitmqrbt03 ~]$ rabbitmqctl join_cluster rabbitrbt01 Clustering node rabbitrbt03 with rabbitrbt01[rabbitmqrbt03 ~]$ rabbitmqctl start_app Starting node rabbitrbt03 ... 查看集群状态 [rabbitmqrbt01 ~]$ rabbitmqctl cluster_status Cluster status of node rabbitrbt01 ... BasicsCluster name: rabbitrbt01 Total CPU cores available cluster-wide: 12Disk Nodesrabbitrbt01 rabbitrbt02 rabbitrbt03Running Nodesrabbitrbt01 rabbitrbt02 rabbitrbt03Versionsrabbitrbt01: RabbitMQ 3.13.7 on Erlang 26.2.5.4 rabbitrbt02: RabbitMQ 3.13.7 on Erlang 26.2.5.4 rabbitrbt03: RabbitMQ 3.13.7 on Erlang 26.2.5.4 …
http://www.dnsts.com.cn/news/114185.html

相关文章:

  • 西宁网站维护公司深圳优化怎么做搜索
  • 东莞市建设企业网站服务机构十大经典案例
  • 深圳住房和建设局网站微九州合作网站
  • 网站地图抓取商业性质网站设计
  • 查重网站开发论文网站建设方案
  • 怎么做网站流量安居客二手房
  • 影视网站怎么做优化vivo应用商店官网
  • 网站的表单手机网站首页布局设计
  • 宁波网站关键词优化代码无锡网站建设人员
  • 专做国外商品的网站企业网站开发实训过程与内容
  • 展示型网站制作公司Windows wordpress搭建
  • 德州建设网站有建个简单的网站
  • 用什么做视频网站比较好网站怎么做团购
  • 有没有专做烘焙的网站有网络网站打不开
  • 自己怎么健网站视频教程不动产登记网站建设
  • 自适应门户网站模板外贸网站该怎么做
  • 网站开发的ppt报告北京城乡住房建设厅网站
  • 专业做网文的网站咸阳城乡建设局网站
  • 做设计找素材都有什么网站网站建设克隆
  • 卫龙的网站做的污污分深圳网站建设网站排名优化
  • wordpress直接访问站点长沙本地招聘网最新招聘信息
  • 什么免费网站可以链接域名制作动画的网站模板
  • h5响应式网站建设方案廊坊网站
  • 泉州网站建设优化公司浙江短视频seo优化网站
  • 服务器 无法访问网站沈阳市城乡建设网站
  • 如何在网站上做自动弹出wordpress 手机端模板
  • 做网站打算套用模板辽宁网站推广
  • 我们的优势的网站找私人做网站
  • 接网站建设单子注意事项济南网站建设公司按需定制
  • 商务网站建设作业加强文化网站建设