腾讯云Centos9使用docker的方式安装APISIX

  1. 在虚拟机中安装Docker、Docker-compose
    1. 安装Docker
      1. 清除旧版本的docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

      1. 安装docker的依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

1.1.3 安装gcc

yum install -y gcc gcc-c++

      1. 添加软件源国内镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.1.5 更新yum索引

yum makecache

1.1.6 安装docker-ce

yum install docker-ce docker-ce-cli containerd.io

1.1.7 启动docker,并设置开机启动

systemctl start docker

systemctl enable docker

1.1.8 验证docker的安装是否成功

docker version

1.2 安装Docker-compose

1.2.1下载docker-compose的二进制文件

1.2.1.1 查询虚拟机内核名和计算机硬件架构

1.2.1.2 下载地址

https://github.com/docker/compose/releases/tag/v2.21.0

1.2.1.3 将其迁移到/usr/local/bin目录下,并授予读写权限

chmod -R 777 /usr/local/bin/docker-compose

1.2.1.4 验证docker-compose的安装是否成功

docker-compose version

2、安装apisix

2.1 下载 apisix-docker仓库

git clone https://github.com/apache/apisix-docker.git

2.2 进入拉取的目录中

cd apisix-docker/example

2.3 修改docker-compose.yml文件内容

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements.  See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF licenses this file to You under the Apache License, Version 2.0

# (the "License"); you may not use this file except in compliance with

# the License.  You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

#

version: "3"

services:

  apisix:

    image: apache/apisix:${APISIX_IMAGE_TAG:-3.7.0-debian}

    restart: always

    volumes:

      - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro

    depends_on:

      - etcd

    ##network_mode: host

    ports:

      - "9180:9180/tcp"

      - "9080:9080/tcp"

      - "9091:9091/tcp"

      - "9443:9443/tcp"

      - "9092:9092/tcp"

    networks:

      apisix:

  etcd:

    image: bitnami/etcd:3.4.15

    restart: always

    volumes:

      - etcd_data:/bitnami/etcd

    environment:

      ETCD_ENABLE_V2: "true"

      ALLOW_NONE_AUTHENTICATION: "yes"

      ETCD_ADVERTISE_CLIENT_URLS: "http://43.139.54.145:2379"

      ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"

    ports:

      - "2379:2379/tcp"

    networks:

      apisix:

  web1:

    image: nginx:1.19.0-alpine

    restart: always

    volumes:

      - ./upstream/web1.conf:/etc/nginx/nginx.conf

    ports:

      - "9081:80/tcp"

    environment:

      - NGINX_PORT=80

    networks:

      apisix:

  web2:

    image: nginx:1.19.0-alpine

    restart: always

    volumes:

      - ./upstream/web2.conf:/etc/nginx/nginx.conf

    ports:

      - "9082:80/tcp"

    environment:

      - NGINX_PORT=80

    networks:

      apisix:

  prometheus:

    image: prom/prometheus:v2.25.0

    restart: always

    volumes:

      - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml

    ports:

      - "9090:9090"

    networks:

      apisix:

  grafana:

    image: grafana/grafana:7.3.7

    restart: always

    ports:

      - "3000:3000"

    volumes:

      - "./grafana_conf/provisioning:/etc/grafana/provisioning"

      - "./grafana_conf/dashboards:/var/lib/grafana/dashboards"

      - "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"

    networks:

      apisix:

networks:

  apisix:

    driver: bridge

volumes:

  etcd_data:

driver: local

修改etcd的IP地址

43.139.54.145是腾讯云外网ip

2.4 使用docker-compose启用 APISIX

```

docker-compose -p docker-apisix up -d

2.5 查看apisix安装的情况

docker ps -a

3、安装apisix-dashboard

3.1 拉取apisix-dashboard镜像

docker pull apache/apisix-dashboard

3.2、在/root路径下,添加dashboard的配置文件conf.yaml

conf:

  listen:

    host: 0.0.0.0   # the address on which the `Manager API` should listen.

                    # The default value is 0.0.0.0, if want to specify, please enable it.

                    # This value accepts IPv4, IPv6, and hostname.

    port: 9000      # The port on which the `Manager API` should listen.

  allow_list:       # If we don't set any IP list, then any IP access is allowed by default.

  etcd:

    endpoints:      # supports defining multiple etcd host addresses for an etcd cluster

      - 10.0.12.9:2379

  ## username: "root"  #如果没开启授权,可以注掉

  ## password: "root" #如果没开启授权,可以注掉

authentication:

  secret:

    zQ5w5jkLDh3jZpywJ3sskrw6Yv633ruq

  expire_time: 3600     # jwt token expire time, in second

  users:                # yamllint enable rule:comments-indentation

    - username: admin

      password: password

    - username: user

      password: password

10.0.12.9是腾讯云内网ip

3.3 启动容器

cd /root

docker run -it -p 9000:9000 -v ./conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml apache/apisix-dashboard

3.4 查看容器启动情况

docker ps -a

4、测试

4.1 访问dashboard页面

访问地址:http://43.139.54.145:9000,账号密码为conf.yaml文件中的

4.2 访问到grafana的页面

Grafana,账号密码均为admin

4.3 访问prometheus页面

http://43.139.54.145:9090

5、防火墙

5.1 虚拟机防火墙

5.2 腾讯云服务器防火墙

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/292933.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在k8s集群中部署多nginx-ingress

关于ingress的介绍,前面已经详细讲过了,参考ingress-nginx详解和部署方案。本案例ingress的部署使用deploymentLB的方式。 参考链接: 多个ingress部署 文章目录 1. 下载ingress的文件2. 文件资源分析3. 部署ingress3.1 部署第一套ingress3.1…

快速、准确地检测和分类病毒序列分析工具 ViralCC的介绍和详细使用方法,fudai shiyong ijaoben

介绍 viralcc是一个基因组病毒分析工具,可以用于快速、准确地检测和分类病毒序列。 github:dyxstat/ViralCC: ViralCC: leveraging metagenomic proximity-ligation to retrieve complete viral genomes (github.com) Instruction of reproducing resul…

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】

这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…

sql:定时执行存储过程(嵌套存储过程、使用游标)

BEGINDeclare FormNo nvarchar(20) --单号Declare Type nvarchar(50) --类型Declare PickedQty float -Declare OutQty float Declare 生产量 floatDeclare 已装箱数量 float Declare 已入库数量 floatDeclare 损耗数量 float Declare 退货品出库数量 intdeclare k c…

DrGraph原理示教 - OpenCV 4 功能 - 膨胀腐蚀

在二值图的结果基础上,可针对性处理。 这些处理有些是概念上的,有些是原理上的,也有形态上的,那就看用途与目的了。 本质上还是对二值图的黑白点进行处理,以用于图像增强、边缘检测、图像分割等多个领域。比如膨胀与腐…

ubuntu创建pytorch-gpu的docker环境

文章目录 安装docker创建镜像创建容器 合作推广,分享一个人工智能学习网站。计划系统性学习的同学可以了解下,点击助力博主脱贫( •̀ ω •́ )✧ 使用docker的好处就是可以将你的环境和别人的分开,特别是共用的情况下。本文介绍了ubuntu环境…

信息论与编码期末复习——概念论述简答题(一)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

C++基础语法——基本知识、数据类型、运算符及程序流程结构

本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: >第1阶段-C基础入门 ---------第2阶段实战-通讯…

一篇文章学会Vim

一篇文章学会Vim 声明:以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨 简介 Vim是一个高度可定制的终端文本编辑器,它可以很方便的创建和修改任何类型的文本。作为vi的升级版,有许多新的特性(以下列出的特性…

Qt界面篇:Qt停靠控件QDockWidget、树控件QTreeWidget及属性控件QtTreePropertyBrowser的使用

1、功能介绍 本篇主要使用Qt停靠控件QDockWidget、树控件QTreeWidget及Qt属性控件QtTreePropertyBrowser来搭建一个简单实用的主界面布局。效果如下所示。 2、控件使用详解 2.1 停靠控件QDockWidget QDockWidget可以停靠在 QMainWindow 内或作为桌面上的顶级窗口浮动。默认值…

rollup 插件输出生成钩子

✨专栏介绍 Rollup专栏是一个专门介绍Rollup打包工具的系列文章。Rollup是一个现代化的JavaScript模块打包工具,它可以将多个模块打包成一个或多个文件,以提高应用程序的性能和加载速度。 在Rollup专栏中,您将学习到如何安装和配置Rollup&a…

如何选择合适的语音呼叫中心?

市场上不同的语音呼叫中心提供商,都有其独特的优势和不足。企业在选择语音呼叫中心服务公司时,主要考虑以下因素:服务质量、价格、技术支持、客户支持等。 首先,服务质量是选择语音呼叫中心需关注的最重要因素之一。 为确保语音…

虾皮广告数据分析:如何进行虾皮广告数据分析以优化广告效果

虾皮(Shopee)作为一家知名的电商平台,广告数据分析是优化广告效果的关键步骤。通过对广告数据进行深入分析,卖家可以了解广告的表现、找出优势和不足,并制定更有效的广告策略。在本文中,我们将介绍如何进行…

ElasticSearch深度分页解决方案

一、前言 ElasticSearch是一个基于Lucene的搜索引擎,它支持复杂的全文搜索和实时数据分析。在实际应用中,我们经常需要对大量数据进行分页查询,但是传统的分页方式在处理大量数据时会遇到性能瓶颈。本文将介绍ElasticSearch分页工作原理、深…

VM中安装Linux以及Win系统

目录 准备条件 安装RHEL9.3 步骤一:按照图片进行操作 步骤二:选择配置方式 步骤三:选择虚拟芯片 步骤四:安装镜像 步骤五:选择操作系统 步骤六:名字以及存储位置 步骤七:配置虚拟机参数…

C#利用openvino部署PP-TinyPose人体姿态识别

【官方框架地址】 github.com/PaddlePaddle/PaddleDetection 【算法介绍】 关键点检测算法往往需要部署在轻量化、边缘端设备上,因此长期以来都存在一个难题:精度高、速度则慢、算法体积也随之增加。而PP-TinyPose的出世彻底打破了这个僵局&#xff0c…

git 本地仓库

本地仓库 start.bat 启动

promethues grafana 安装和使用

文章目录 1、promethues安装2、node-exporter安装3、grafana安装4、配置promethues监控node节点5、grafana操作外传 Docker 镜像下载地址: https://hub.docker.com 比较好的hub.docker.com///-- https://hub.docker.com/u/bitnami grafana监控面板:https…

[LitCTF 2023]这是什么?SQL !注一下 !

[LitCTF 2023]这是什么?SQL !注一下 ! wp 题目描述:为了安全起见多带了几个套罢了o(▽)q 页面内容(往下滑): SQL 语句已给出,无非是更换了闭合方式。 先输个 1 试试: …

Capsolver:解决Web爬虫中CAPTCHA挑战的最优解决方案

Web爬虫已经成为从各种在线来源提取和分析数据的不可或缺的技术。然而,在Web爬取过程中,经常会遇到的一个共同挑战是CAPTCHA。CAPTCHA(完全自动化的公共图灵测试,用于区分计算机和人类)是一种安全措施,旨在…