Apisix-linux下的内网安装

1.背景

一般测试环境都是没有外网的,apisix官网写了安装方式,但是感觉描述的并不好,结合自己的实际体验整理了下。

APISIX-官网

APISIX-GitHub

2.离线安装

假设现在有两台相同的机器

我刚开始没注意到这个问题,A机是centos8,B机是centos7,下载后的rpm文件在B机上就用不了了。

A机:拥有外网,可以执行yum相关操作。

B机:目标机器,需要安装apisix的内网机。

2.1 配置中心ECTD

一个分布式键值存储系统,类似于一个轻量级的分布式数据库。

在安装 APISIX 之前,需要在主机上安装 etcd。

APISIX 使用 ETCD 作为配置中心进行保存和同步配置。

2.1 A机下载文件

使用wget进行下载

wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz

替换下${ETCD_VERSION}为当前版本3.5.4

# ETCD_VERSION='3.5.4' wget https://github.com/etcd-io/etcd/releases/download/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gz

2.2 B机执行安装

tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && \ cd etcd-v${ETCD_VERSION}-linux-amd64 && \ sudo cp -a etcd etcdctl /usr/bin/ nohup etcd >/tmp/etcd.log 2>&1 &

替换下${ETCD_VERSION}为当前版本3.5.4

# 解压 tar -xvf etcd-v3.5.4-linux-amd64.tar.gz cd etcd-v3.5.4-linux-amd64 # 配置全局命令 cp -a etcd etcdctl /usr/bin/

3.3 启动

B机器部署并调整好权限后,执行下方命令启动。

# 启动 nohup etcd >/tmp/etcd.log 2>&1 &

哦,又是常见的nohup命令,来我给你顺带复习下。

将 etcd 命令的输出保存到 /tmp/etcd.log 文件中,并在后台持续运行 etcd。

这个命令你要拆解成5个部分来理解。

  • nohup

    这是一个用于在后台运行命令的命令行工具。它允许你在关闭终端或注销用户后继续运行命令,将命令的输出重定向到指定的文件。

  • etcd

    应用程序名

  • >/tmp/etcd.log

    >符号将命令的标准输出重定向到指定的文件/tmp/etcd.log,即将 etcd 命令的输出写入/tmp/etcd.log 文件中。

  • 2>&1

    2表示标准错误输出,1 表示标准输出。2>&1 将错误输出重定向到与标准输出相同的位置。

    服啦,复制过来的解释叽叽歪歪:意思就是错误日志和普通日志输出到同一个文件。

  • &

    这个符号将命令放入后台执行,不会阻塞当前终端的使用,即使关闭终端,应用仍会继续在后台运行。

etcd启动后,默认监听23792380端口,分别用于监听客户端通信和etcd服务间通信。

image-20230630144115180

2.2 网关APISIX

2.1 A机下载文件

# cd任意目录 mkdir -p apisix yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm yum clean all && yum makecache yum install -y --downloadonly --downloaddir=./apisix apisix

执行完成后,会将相关依赖下载到apisix这个文件夹中。

image-20230630111840538

需要的文件都下载完了,可以通过下面的命令移除掉A机的依赖。

# 执行完成后,可以执行下面的命令移除上面第2个命令添加的依赖,把A机复原。 yum remove -y apache-apisix-repo

2.2 B机执行安装

将A操作完后的apisix文件夹,拷贝到B机任意位置。

linux上我一般习惯将安装包放在software下,软件放到app下,比如此处我将A机的文件放到software下了。

进入到apisix目录后,执行安装命令。

yum install *.rpm

等待安装完成。

可以看到,默认被安装到了/usr/local/apisix目录下。

image-20230630162147330

2.3 启动

执行初始化与启动。

apisix init apisix start

2.3 后管Apisix Dashboard

3.扩展

3.1 权限调整

# 查看用户名和用户组 id {user}

3.1.1 etcd调整至普通用户

内网B机器安装时可能需要使用sudo或者root,后续运维修改成xx用户组的权限。

# 安装时的这行将etcd相关内容添加成了全局命令 # cp -a etcd etcdctl /usr/bin/

此时用root对/usr/bin/下的文件授权即可。

chown -R {user}:{group} /usr/bin/etc* # 重新查看权限 ls -l /usr/bin/etc*

3.1.2 apisix调整至普通用户

内网B机器安装时可能需要使用sudo或者root,后续运维修改成xx用户组的权限。

# apisix被默认安装在/usr/local/apisix chown -R {user}:{group} /usr/local/apisix # 755权限:-rwxr-xr-x chmod -R 755 /usr/local/apisix # 全局命令 chown -R {user}:{group} /usr/bin/apisix

__EOF__

本文作者羊37
本文链接https://www.cnblogs.com/yang37/p/17523188.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   羊37  阅读(595)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示