APISIX的安装与测试(springboot服务测试)

安装:

1.1安装依赖:

bash 复制代码
curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-dependencies.sh -sL | bash -

1.2 安装 OpenResty

bash 复制代码
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

sudo yum install  openresty 

验证安装

复制代码
/usr/local/openresty/nginx/sbin/nginx -v

安装必须的库

复制代码
yum install git gcc luarocks lua-devel

1.3 安装docker和docker compose

bash 复制代码
vi install_docker.sh

粘贴以下内容

bash 复制代码
#!/usr/bin/env bash

set -ex

# 移除旧版本的 Docker
sudo yum remove -y docker \
                 docker-client \
                 docker-client-latest \
                 docker-common \
                 docker-latest \
                 docker-latest-logrotate \
                 docker-logrotate \
                 docker-engine

# 安装依赖包
sudo yum install -y yum-utils

# 设置 Docker 的稳定仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker Engine
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker


# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 为 Docker Compose 二进制文件添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 创建符号链接到 /usr/bin 目录(可选)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose || true

# 验证 Docker Compose 是否安装成功
docker-compose --version
bash 复制代码
chmod +x install_docker.sh
sudo ./install_docker.sh

如果docker-compose拉取失败,再次执行以下命令获取

复制代码
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

1.4 安装etcd 和 APISIX

如果你在安装 APISIX 时选择了 Docker 或 Helm 安装,那么 etcd 将会自动安装;

bash 复制代码
git clone https://github.com/apache/apisix-docker.git
cd apisix-docker/example

修改配置文件:apisix-docker/example/apisix_conf/config.yaml

拉取并启动容器

bash 复制代码
cd apisix-docker/example
docker-compose -p docker-apisix up -d

安装完成并启动

查看是否全部启动:

1.5 测试

1.5.1搭建一个java服务

服务启动访问http://127.0.0.1:8883返回字符串:

复制代码
Hello 我是apisix222

1.5.2将服务放到服务器上运行。

1.5.2.1打包java服务
1.5.2.2在服务器上安装jdk
java 复制代码
cd /usr/local
mkdir java

tar -zvxf "jdk-8u411-linux-x64 (1).tar.gz" -C /usr/local/java/

vi /etc/profile

# 放入以下命令
export JAVA_HOME=/usr/local/java/jdk1.8.0_411
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

#退出文件并执行
source /etc/profile
java -version
1.5.2.2运行

将打包好的jar包上传到服务器上并执行

复制代码
java -jar <java服务jar包>

1.5.3 测试网关转发

1.5.3.1 发布API

注意点:1.92.107.128 这个IP地址是你的服务器地址, 如果 APISIX 运行在 Docker 容器中,而你的服务直接运行在主机上,可能存在网络隔离问题。方法一,将你的服务放在同一个docker网络中(舍弃)。方法二直接使用服务器地址。

bash 复制代码
curl -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1"  -i "http://127.0.0.1:9180/apisix/admin/routes" -X PUT -d '
{
  "id": "getting-started-hello",
  "uri": "/hello",
  "upstream": {
    "type": "roundrobin",
    "nodes": {
      "1.92.107.128:8883": 1
    }
  }
}'
1.5.3.2 访问
bash 复制代码
http://1.92.107.128:9080/hello

则网关会将请求转发到 http://1.92.107.128:8883/hello 去。就会接收到内容 "Hello 我是apisix222"

1.6 其他

bash 复制代码
#查询发布的所有API
curl -i -X GET "http://127.0.0.1:9180/apisix/admin/routes" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1"

# 删除发布的APi 根据ID
curl -i -X DELETE "http://127.0.0.1:9180//apisix/admin/routes/3" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1"
相关推荐
mldong9 小时前
引擎从不发一条消息:jeeflow 的两类扩展点与消息模块的分工
java·架构
君顾19 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
zhanghe68710 小时前
es的密码带有特殊字符,导出
java
pnoker10 小时前
IoT DC3 概念解读:把设备抽象成一套语义模板——位号、指令、事件与面向智能体的设备建模
java·人工智能·物联网·iot·dc3
my_realmy10 小时前
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)
java·多线程·并发··生产者消费者模式
天远数科11 小时前
风险治理实战:基于天远车信盟出险构建自动化理赔核保流水线
java·网络·人工智能·自动化
步行cgn11 小时前
YAML 的语法规则
spring boot·后端
骇客野人11 小时前
SpringBoot电商系统用户注册、登录、留存及数据埋点设计与落地实施方案
java·spring boot·后端
摇滚侠11 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng111 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库