您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

CentOS 7.x安装微服务网关Apache APISIX

时间:2020-07-25 10:51:37  来源:  作者:

APISIX是一个云原生、高性能、可扩展的微服务 API 网关。它是基于 OpenResty和etcd来实现,和传统API网关相比,APISIX具备动态路由和插件热加载,特别适合微服务体系下的API管理。APISIX通过插件机制,提供动态负载平衡、身份验证、限流限速等功能,并且支持你自己开发的插件。

APISIX是基于云原生的微服务API网关,它是所有业务流量的入口,可以处理传统的南北向流量(server-client),也可以处理服务间的东西向流量(server-server),也可以当做 k8s ingress controller 来使用。

 

CentOS 7.x安装微服务网关Apache APISIX

 

图片来源:官网

https://gitee.com/iresty/apisix

流量流向方向:通常核心网络组件绘制在顶部(NORTH),客户端绘制在底部(SOUTH),而数据中心内的不同服务器水平(EAST-WEST)绘制。

0x01:安装APISIX服务

  • 先安装依赖服务

# 安装 epel, `luarocks` 需要它

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

# 添加 OpenResty 源

yum install yum-utils
yum-config-manager --add-repo 
https://openresty.org/package/centos/openresty.repo

# 安装 OpenResty, etcd 和 编译工具

yum install -y etcd openresty curl git gcc luarocks lua-devel

# 开启 etcd server

systemctl start etcd

如果在访问过程中遇到访问不到的问题可以,可以试着关闭一下防火墙和selinux

# 防火墙关闭

systemctl stop firewalld.service
systemctl disable firewalld.service

# 关闭selinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  • 安装APISIX
yum install -y https://github.com/Apache/incubator-apisix/releases/download/1.3/apisix-1.3-0.el7.noarch.rpm
  • 启动和关闭apisix
apisix start
apisix stop
  • 查看服务是否启动

查看进程或者监听端口9080

#查看进程
ps aux|grep apisix
#查看端口
netstat -lntp|grep 9080

0x02:安装控制台apisix-dashboard

新版本的APISIX已经内置了dashboard可视化WEB控制台,可以很直观的看到各种router配置、upstream配置等等。浏览器直接访问就可以打开dashboard:

http://127.0.0.1:9080/apisix/dashboard

以下步骤是基于APISIX一些低版本没有内置apisix-dashboard控制台的情况,安装apisix-dashboard控制台。此控制台页面基于VUE开发,需要通过yarn编译生成。官网地址

https://github.com/apache/incubator-apisix-dashboard

安装基础编译环境:node npm yarn

  • 安装node和npm

#下载

wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz

#解压部署

tar xvf node-v12.16.1-linux-x64.tar.xz
mv node-v12.16.1-linux-x64 /usr/local/node

#配置环境变量

echo 'PATH=/usr/local/node/bin/:$PATH' >> /etc/profile
source /etc/profile

#测试环境是否安装成功

node --version
npm --version
  • 安装yarn

# 下载

wget https://github.com/yarnpkg/yarn/releases/download/v1.22.4/yarn-v1.22.4.tar.gz

#解压部署

tar xvf yarn-v1.22.4.tar.gz
mv yarn-v1.22.4 /usr/local/yarn

#配置环境变量

echo 'PATH=/usr/local/yarn/bin/:$PATH' >> /etc/profile
source /etc/profile

#测试环境是否安装成功

yarn --version
  • 编译dashboard组件,生成静态页面

# git获取源码

git clone https://github.com/apache/incubator-apisix-dashboard.git
cd incubator-apisix-dashboard

#切换分支版本和apisix版本一致即可

git checkout 1.0
CentOS 7.x安装微服务网关Apache APISIX

 

#下载解决依赖包

yarn

#构建生成页面

yarn build:prod

#复制到访问路径

mkdir -p /usr/local/apisix/dashboard
cp -r ./* /usr/local/apisix/dashboard
  • 验证是否安装成功
http://127.0.0.1:9080/apisix/dashboard/
CentOS 7.x安装微服务网关Apache APISIX

 

0x03:测试验证

  • 随便找一个服务,这里启动一个nacos配置服务
CentOS 7.x安装微服务网关Apache APISIX

 

  • 登录apisix-dashboard控制台

http://127.0.0.1:9080/apisix/dashboard/

  • 配置指向后端服务的upstream
CentOS 7.x安装微服务网关Apache APISIX

 

  • 配置路由规则信息Routes
CentOS 7.x安装微服务网关Apache APISIX

 

  • 验证方向代理

访问http://127.0.0.1:9080/nacos/

9080是apisix服务的端口;/nacos/是配置的路由规则,只要/nacos/打头的都转发到http://192.168.56.1:8848/nacos/处理。

CentOS 7.x安装微服务网关Apache APISIX

 

通过上图,可以查看到已经转发成功,说明反向代理设置成功。另外可以添加多节点进行负载均衡

CentOS 7.x安装微服务网关Apache APISIX

 



Tags:Apache APISIX   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
本文将从云原生时代的机遇和挑战说起,介绍一个全新的开源高性能云原生 API 网关——Apache APISIX,探讨如何解决云原生时代 API 网关所面临的一些痛点,最后介绍该开...【详细内容】
2020-10-13  Tags: Apache APISIX  点击:(164)  评论:(0)  加入收藏
APISIX是一个云原生、高性能、可扩展的微服务 API 网关。它是基于 OpenResty和etcd来实现,和传统API网关相比,APISIX具备动态路由和插件热加载,特别适合微服务体系下的API管理...【详细内容】
2020-07-25  Tags: Apache APISIX  点击:(128)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条