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

news2025/6/9 18:18:59
  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 腾讯云服务器防火墙

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NE555学习笔记-2024

实物图片 NE555引脚图 内部时序图 示列1,红外接收电路 红外接收电路的工作原理:在上述电路中,TSOP1738构成了该电路的主要组成部分,旨在检测来自任何来源的红外信号。这用于检测38 KHz范围的信号,因此命名为“TSOP173…

LeetCode 2487. 从链表中移除节点:单调栈

【LetMeFly】2487.从链表中移除节点:单调栈 力扣题目链接:https://leetcode.cn/problems/remove-nodes-from-linked-list/ 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输…

详谈电商网站建设的四大流程!

在21世纪的互联网时代,电商网站的建设是每个企业发展不可缺少的一次机遇。企业商城网站建设成功也许会获得更大的了利润;如果网站建设不成功,那么也会带来一定的损失。所以建设电商网站不是那么一件简单的事情。那么电商网站制作流程是怎样的…

2024年【上海市安全员C3证】试题及解析及上海市安全员C3证模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 上海市安全员C3证试题及解析根据新上海市安全员C3证考试大纲要求,安全生产模拟考试一点通将上海市安全员C3证模拟考试试题进行汇编,组成一套上海市安全员C3证全真模拟考试试题,学员…

el-select下拉框 change事件返回该项所有数据

主要代码 value-key <template><div><el-selectv-model"value"value-key"label"placeholder"请选择"change"selectChange"><el-optionv-for"item in options":key"item.label":label"…

数据库:基础SQL知识+SQL实验2

&#xff08;1&#xff09;基础知识&#xff1a; 1.JOIN&#xff08;连接&#xff09;&#xff1a; 连接操作用于根据指定的条件将两个或多个表中的数据行合并在一起。JOIN 可以根据不同的条件和方式执行&#xff0c;包括等值连接、不等值连接等。 &#xff08;1&#xff09…

5分钟了解接口测试

接口测试是指对系统接口进行测试的一种质量保障手段&#xff0c;主要是验证接口的功能、性能、安全性等方面是否符合预期。 在接口测试中&#xff0c;可以测试以下内容&#xff1a; 功能测试&#xff1a;验证接口的输入和输出是否符合预期&#xff0c;包括参数的正确性、返回结…

【Docker】docker部署conda并激活环境

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、新建dockerfile文件二、使用build创建镜像1.报错&#xff1a;Your shell has not been properly configured to use conda activate.…

基于LLM+RAG的问答

每日推荐一篇专注于解决实际问题的外文&#xff0c;精准翻译并深入解读其要点&#xff0c;助力读者培养实际问题解决和代码动手的能力。 欢迎关注公众号 原文标题&#xff1a;LLMRAG based Question Answering 原文地址&#xff1a;https://teemukanstren.com/2023/12/25/llm…

【网络安全】上网行为代理服务器Network Agent配置

文章目录 About Network Agent SettingsIgnore Internal TrafficInternal Traffic to MonitorAdditional SettingsBandwidth calculation intervalLog protocol traffic periodically 推荐阅读 本文基于websense &#xff08;现在称为Forcepoint&#xff09;的Network Agent 配…

npm发布js工具包

一、创建项目 1、在github上创建一个项目&#xff0c;然后拉取至本地&#xff0c;进入项目目录2、执行 npm init 生成json文件3、创建 src/index.ts 入口文件和 src/isObject.ts 工具方法 src/index.ts export { default as isObject } from ./isObject src/isObject.ts /…

Zookeeper 分布式服务协调治理框架介绍入门

文章目录 为甚么需要Zookeeper一、Zookeeper 介绍1.1 介绍1.2 Zookeeper中的一些概念1.2.1 集群角色1.2.2 会话 session1.2.3 数据节点 Znode1.2.4 版本1.2.5 事件监听器 Watcher1.2.6 ACL 权限控制表(Access Control Lists) 二、 Zookeeper的系统模型2.1.1 ZNode节点2.1.2 ZNo…

亿可达:提升工作效能的秘诀

在竞争激烈的职场中&#xff0c;提高工作效率对于个人和团队都至关重要。而选择适合自己的工作效率软件&#xff0c;可以为我们提供更好的工作协作和任务管理体验。下面是我个人推荐的一些实用工作效率软件&#xff0c;希望能对您有所帮助。 1. Any.do&#xff1a;Any.do是一款…

AI小冰入驻淘宝 将提供虚拟人陪伴服务

AI小冰正式入驻淘宝&#xff01; 据悉&#xff0c;小冰在淘宝开出了“小冰旗舰店”、以及手淘小程序“X Eva 克隆人的平行世界”&#xff0c;为消费者提供基于KOL虚拟人带来的陪伴服务体验。用户搜索“小冰旗舰店”就可以直达店铺进行选购。 ​小冰旗舰店的首批商品包括冰花直充…

‘react-native‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因&#xff1a;没有下载react-native 解决下载react-native npm i -g react-native-cli

19|BabyAGI:根据气候变化自动制定鲜花存储策略

19&#xff5c;BabyAGI&#xff1a;根据气候变化自动制定鲜花存储策略 随着 ChatGPT 的崭露头角&#xff0c;我们迎来了一种新型的代理——Autonomous Agents&#xff08;自治代理或自主代理&#xff09;。这些代理的设计初衷就是能够独立地执行任务&#xff0c;并持续地追求长…

使用 Jupyter 分析 ROS 消息时间间隔抖动数据

ROS 是一个分布式机器人操作系统软件框架&#xff0c;节点之间通过松耦合的方式进行组合&#xff0c;包括使用 Topic、RPC 服务和参数服务器等方式进行通信。其中&#xff0c;Topic 是最常见的一种通信方式&#xff0c;例如一个雷达传感器节点实时采集三维点云数据&#xff0c;…

WEB 3D技术 three.js 几何体uv属性讲解与基本演示

本文 我们来说说uv 那么 它是什么呢&#xff1f; 首先 比如 我们几何体 贴一个图 那么 为什么我们图的四个边就能正好贴到几何体的边 为什么不可以图就在几何体中间呢&#xff1f; 中心为什么能对齐 它就不能偏一点吗&#xff1f; 这是第一个问题 还有我们 gltf 这种文件 其实…

服务器防护怎么做

随着网络攻击的日益猖獗&#xff0c;服务器安全已成为关注的焦点。如何有效防御各种网络威胁&#xff0c;确保数据安全与业务连续性&#xff0c;已成为一项迫切的需求。目前服务器所面临的主要威胁包括但不限于&#xff1a;DDoS攻击、SQL注入、跨站脚本攻击(XSS)、远程命令执行…

Linux_CentOS_7.9_Oracle11gr2配置数据库及监听服务自启动多方案实操之简易记录

前言: 作为运维保障,都无法准确预估硬件宕机的突发阶段,其生产数据实时在产出,那作为dba数据库服务以及相关Listener的其重要性、必要性就突显而出。这里拿虚拟机试验做个配置记录,便于大家学习参考。 实现方法一: 环境变量值::$ORACLE_HOME= /data/oracle/product/1…