建网页和建网站,编程猫少儿编程app下载,做游戏视频网站要批证吗,网站建设分几块安装#xff1a; docker安装ApiSi 常见问题-提前查阅 1-端口被占用 确保所需的所有端口#xff08;默认的 9080/9091/9443/2379/9000#xff09;未被其他系统/进程使用
#查询端口占用情况 netstat -antp |grep 9443
如果端口冲突可尝试修改apisix的端口配置#xff0c;
…安装 docker安装ApiSi 常见问题-提前查阅 1-端口被占用 确保所需的所有端口默认的 9080/9091/9443/2379/9000未被其他系统/进程使用
#查询端口占用情况 netstat -antp |grep 9443
如果端口冲突可尝试修改apisix的端口配置
但不建议因为会出现端口对应不上导致apisix服务出错
除非必须修改那请查看修改此文件
vim /opt/testApiSix/apisix-docker/example/docker-compose.yml 2-cannot access data directory ETCD出现报错cannot access data directory: mkdir /bitnami/etcd/data: permission denied表示etcd启动时未没有创建db的权限 在opt目录下执行ETCD会把安装目录下的etcd_data 映射到容器内部的/bitnami/etcd/目录并在此目录下创建data存储DB数据
chmod -R 777 /opt/apisix-docker/example/ 3-容器持续地重启或失败 如果 Docker 容器持续不断地重启或失败请登录容器并观察日志以诊断问题。
查询容器id
docker ps -a | grep 容器模糊名称
查询容器id对应日志
docker logs -f containerId
#进入到容器内部 docker exec -it containerId /bin/sh
第一步-部署ApiSix前docker基础环境准备
安装前必要部署环境准备 本文基于docker-compose安装APISIX, 所以需要提前安装好docker、docker-compose。 必要条件如下 1.Linux服务器Centos7.2(注:服务器操作系统版本) 2.Linux已部署Docker(注:如没安装请参照下面连接第一步到第三步) 安装部署docker与docker-compose的步骤 2.Linux已部署Docker-Compose(注:如没安装请参照下面连接第一步到第四步) 安装部署docker与docker-compose的步骤
**
第二步-docker部署安装APISIX-分批次操作
** apisix-docker对应github地址,为下列链接 apisix-docker对应github地址
2.1-从远程github仓库获取ApiSix的部署全家桶
切换到安装目录如/opt
cd /opt #将 Apache APISIX 的 Docker 镜像下载到本地 git clone https://github.com/apache/apisix-docker.git 2.2-赋权限
赋权限(不执行会报ETCD容器启动时报错
cannot access data directory: mkdir /bitnami/etcd/data: permission denied
表示etcd启动时未没有创建db的权限)
chmod -R 777 /opt/apisix-docker/example/ 2.3-切换目录使用docker命令安装部署apisix已经被打好的包
将当前的目录切换到 apisix-docker/example 路径下
cd /opt/apisix-docker/example
运行 docker-compose 命令安装 Apache APISIX
确保所需的所有端口默认的 9080/9091/9443/2379/9000未被其他系统/进程使用再执行下面命令
#查询端口占用情况 netstat -antp |grep 9443
如被占用
如果端口冲突可尝试修改apisix的端口配置
但不建议因为会出现端口对应不上导致apisix服务出错
除非必须修改那请查看修改此文件
vim /opt/testApiSix/apisix-docker/example/docker-compose.yml
修改完之后再执行下列命令启动apisix容器
docker-compose -p docker-apisix up -d
其中example目录结构如下
第三步-验证APISIX所需服务是否安装成功
3.1-docker ps -a | grep apisix查看以下5个容器是否都已经启动
docker ps -a | grep 模糊匹配服务名
docker ps -a | grep apisix docker ps -a | grep etcd docker ps -a |grep dashboard docker ps -a |grep grafana docker ps -a |grep prometheus 如下图-右侧显示up,即为正常启动如不是up标识
如不是up标识进入各自的容器查看容器启动日志
docker logs -f 复制上面图片中的左侧容器id,以左上角举例
docker logs -f 60ce72be6caa 排查完所有未启动成功的容器修正启动成功之后进入网址
3.3-访问apisix-dashboard 将IP替换成实际的部署APISIX的服务器IP
http://IP:9000 默认账号密码admin/admin
第四步-扩展docker-compose操作与docker操作
4.1-docker-compose操作
#拉取镜像 docker-compose pull #创建并启动镜像 docker-compose -p docker-apisix up -d #停止并删除镜像 docker-compose -p docker-apisix down #启动服务 docker-compose -p docker-apisix start #停止服务 docker-compose -p docker-apisix stop 4.2-docker操作
#停止、启动、kill指定容器 docker stop containerid docker start containerid docker kill containerid
查看运行的容器
docker ps #停止指定容器 docker stop $(docker ps -qa) #删除全部容器 docker rm $(docker ps -qa) #删除指定容器 docker rmi containerid #查看所有镜像 docker images #查看容器日志 docker logs -f containerid #进入到容器内部 docker exec -it containerid /bin/sh
后面备注
启动etcd systemctl start etcd
docker安装 镜像配置文件: /home/apisix/apisix-docker/example/ 下载并启动镜像 启动所有镜像docker-compose -p docker-apisix up
实践操作
添加路由 ➜ curl “http://127.0.0.1:9180/apisix/admin/routes/1” -X PUT -d ’ { “methods”: [“GET”], “host”: “zhiyou.com”, “uri”: “/anything/*”, “upstream”: { “type”: “roundrobin”, “nodes”: { “httpbin.org:80”: 1 } } }’ -H ‘X-API-KEY: edd1c9f034335f136f87ad84b625c8f1’
正常会得到如下所示的结果
{“value”:{“create_time”:1679392758,“methods”:[“GET”],“host”:“youdianzhishi.com”,“status”:1,“priority”:0,“update_time”:1679392758,“upstream”:{“pass_host”:“pass”,“hash_on”:“vars”,“type”:“roundrobin”,“nodes”:{“httpbin.org:80”:1},“scheme”:“http”},“id”:“1”,“uri”:“/anything/*”},“key”:“/apisix/routes/1”}