Docker compose五分钟部署Apisix网关+图形化管理

首先,我们需要准备一个服务器,腾讯云,阿里云等均可,建议选择支持试用或者 7 天无理由退款的,这里以雨云为例,优惠码填 wp-admin 并且绑定微信后会获得 WordPress 建站礼包

首先我们来到雨云官网,点击右上角的登陆/注册按钮

在新的页面中,点击“暂无账号?点击注册”

随后输入用户名和密码注册即可,如果你如下图显示“正在使用优惠通道注册,现在注册立享专属优惠!”,那么您大概率已经使用了一个优惠码,如果没有这行,会出现一个优惠码的输入框,输入wp-admin即可

注册完成后就可以购买服务器了,新手建议先试用一台服务器,可以选择香港3区【点击查看:雨云香港三区2h4g服务器测评】,如果预算不是很充足,可以选择便宜一些的美国2区优化线路【点击查看:雨云1h1g洛杉矶二区云服务器测评】,如果有大带宽的需求并且不是很在意线路延迟,可以选择美国1区的大带宽【点击查看:雨云2h4g洛杉矶一区云服务器测评

在购买服务器前,可以先点击试用,可以 1 元试用(其实是 0 元,因为试用结束后会退还 1 元)大部分产品(某些产品有 1 元,3 元,5 元试用,对应不同配置)

但是需要注意的是,试用机一定要确定好准备长久使用再续费,因为试用机一旦续费后是不能像直接购买那样子退订(全额退款)的

雨云默认提供了很多系统和预装APP的选项,但是系统中存在探针,如果不希望被探针监视可以自己把系统DD一遍

购买/试用完成后等待 1 分钟左右服务器就创建好了,对于 Linux 系统的连接方法是使用 SSH 客户端,当然,如果你不想下载任何程序,雨云提供了 WebSSH 的功能,只需要先进入服务器管理页

随后点击左上角的“远程连接(VNC)”,在弹出的选项中选择第一个 “Xtermjs 模式”

在新弹出的窗口中敲几下回车即可看到有提示让输入用户名

这时候我们输入“root”后回车,会让我们输入密码,如果你没有手动更改密码,直接从服务器管理面板的“远程连接”板块中复制即可

随后需要使用组合键“Ctrl Shift V”(先按 Ctrl,再按 Shift,最后按 V)把密码粘贴进去,因为 Linux 粘贴使用的是“Ctrl Shift V”而不是 Windows 的“Ctrl V”

粘贴密码后不会显示任何内容,因为 Linux 输入密码时一般是没有回显的,也就是输入了内容不会显示任何东西,包括星号“*”,所以粘贴密码后直接回车即可

出现“root@xxxxxxxxx”的提示就代表登陆成功了,接下来按照教程一行命令一行命令的复制粘贴即可

安装 Docker

由于本教程需要用到 Docker,而且一般来说系统是不自带的,所以我们需要先装一个,这里推荐使用 Linuxmirror 的一键安装脚本

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

我们根据它的提示输入即可,例如这里让你输入Y还是n,也就是是还是否,我们要安装,所以输入Y

如果是国外服务器,这里输入13,如果是国内服务器,那么建议使用7或者9

由于某些特殊情况,目前大多数Docker源均已失效,包括各种大厂的,目前,如果是境外服务器,请选择官方源,如果是境内服务器,请选择1

等待脚本执行完毕,我们使用命令来看看Docker是否已经成功安装

docker version

如果有输出版本即代表安装成功,接下来就可以开始部署应用了

首先我们确认一下服务器上已经安装好了Git和Vim,因为后面需要用到

由于我们使用的是Ubuntu,所以命令为

apt-get update
apt-get install git vim -y

执行完成后开始克隆一下官方的存储库

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

接下来我们还需要做一个操作,就是把dashboard的配置文件复制过来,官方把它存放在all-in-one目录中,我们把它放在和docker-compose文件同级的目录下,方便挂载进容器

cp ../all-in-one/apisix-dashboard ./

修改docker-compose.yml文件,如果你不想修改,可以直接删掉重新创建一个,把下面的内容填进去就行

version: "3"

services:
  apisix:
    image: apache/apisix:${APISIX_IMAGE_TAG:-3.9.0-debian}
    # 如果不手动指定版本,则默认使用官方的3.9.0(官方的示例中写的,但是最新版已经到3.10.0了
    restart: always
    volumes:
      - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
    depends_on:
      - etcd
    ports:
      - "9180:9180/tcp"
      - "9080:9080/tcp"
      - "9091:9091/tcp"
      - "9443:9443/tcp"
      - "9092:9092/tcp"
    networks:
      apisix:

  etcd:
    image: bitnami/etcd:3.5.11
    restart: always
    volumes:
      - etcd_data:/bitnami/etcd
    environment:
      ETCD_ENABLE_V2: "true"
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
      ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
    ports:
      - "2379:2379/tcp"
    networks:
      apisix:
  dashboard:
    image: "apache/apisix-dashboard:3.0.0-centos"
    restart: always
    depends_on:
      - etcd
    volumes:
      - ./apisix-dashboard/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml:ro
    ports:
      - "9000:9000/tcp"
    networks:
      - apisix
  # 官方版本这里有两个nginx的容器,为了是测试用的,但我们不需要它,所以这里直接删掉了
  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

之后我们执行命令就可以把apisix部署起来了

docker compose up -d

部署完成后的目录结构长这样

接下来我们可以看一下默认的优惠码和密码,并且访问web页面进行登陆管理了,访问你的服务器ip+端口,端口是9000,但是由于我这里的9000端口被占用了,所以我改成了29000,再加上我的服务器ip访问地址是这样的:

http://100.101.110.53:29000/

cat ./apisix-dashboard/conf.yaml

登陆完成会跳到仪表盘页面,如果提示Grafana没配置,可以在这里配置一下:

需要写的地址也是你的服务器IP+端口,但是这里需要带上 http://,Grafana的默认端口是3000

我们直接打开这个地址也是可以看监控信息的

但是默认情况下这些都是没数据的,只有Nginx有监控数据,Apisix的监控数据是传不过来的,那么怎么解决这个问题呢?我们回到Apisix的web管理页面,按照如下步骤添加一个插件

我们往下滑,找到普罗米修斯的监控插件,直接启用即可

我们启用它直接提交即可

© 版权声明
THE END
喜欢就支持一下吧
赞赏
评论 共1条
头像
欢迎您留下宝贵的见解!对于“评论可见”,请合理评论,否则将被系统视为垃圾评论。
提交
头像

昵称

取消
昵称表情代码图片