首页 > 系统相关 >Apisix-linux下的内网安装

Apisix-linux下的内网安装

时间:2023-07-03 16:23:53浏览次数:99  
标签:安装 命令 usr etcd linux Apisix 内网 apisix

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

标签:安装,命令,usr,etcd,linux,Apisix,内网,apisix
From: https://www.cnblogs.com/yang37/p/17523188.html

相关文章

  • linux源码解读(三):文件系统——inode【转】
    转自:https://www.cnblogs.com/theseventhson/p/15622853.html众所周知,计算机系统在掉电后也能存储数据的就是磁盘了,所以大量数据大部分时间是存放在磁盘的;现在新买的PC,磁盘从数百G到1TB不等;服务器的磁盘从数十TB到上百TB,这么大的存储空间,该怎么高效地管理和使用了?站在硬件角度,cpu......
  • Linux struct inode结构【转】
    转自:https://www.cnblogs.com/wanghetao/archive/2012/05/28/2521675.html*索引节点对象由inode结构体表示,定义文件在linux/fs.h中*/structinode{      structhlist_node    i_hash;          /*哈希表*/      structlist_head  ......
  • linux基础2
    ##用户和权限的基本概念用户管理包含用户和组的管理linux系统必须有一个用户,而且对于不同的用户有不同的系统资源权限对文件、目录的权限:在实际工作中,是通过对用户进行分组,对组赋予对应的权限,来管理用户的权限什么类型的文件文件的拥有者权限拥有者所在组的权限组......
  • linux搭建LAMP环境
    LAMP环境指在linux系统下搭建Apache服务器+mysql+php(1)安装Apache服务及其扩展包yum-yinstallhttpdhttpd-manualmod_sslmod_perlmod_auth_mysql(2)启动Apache服务systemctlstarthttpd.service(3)安装mysql  wgethttp://dev.mysql.com/get/mysql57-community-release......
  • linux 常用脚本
    启动python脚本并输出日志到文件nohuppython3-udoReport.py--env=prod>doReport.out2>&1&pip使用清华源pip3installscikit-learn-ihttps://pypi.tuna.tsinghua.edu.cn/simple......
  • linux | 时间同步 | 时钟同步 | ntp同步系统时间
    一、说明        1、linux系统        2、centos        3、系统时间快了2分钟,需要搞成同步二、具体实现1)安装ntpyum-yinstallntp2)启动systemctlstartntpd3)设置开机自启systemctlenablentpd4)查看状态systemctlstatusntpd5)修改配置文......
  • nodejs——linux安装环境
    yum安装nodejsv18.16.1model:unknown,wordcount:7,tokenestimate:14   在yum仓库中,可能没有提供Node.js18.16.1的特定版本。通常,yum仓库中提供的是最新稳定版本的软件包。如果您需要安装特定版本的Node.js,可以考虑使用Node版本管理工具(例如nvm......
  • Linux SPI-NAND 驱动开发指南
    文章目录LinuxSPI-NAND驱动开发指南1概述1.1编写目的1.2适用范围1.3相关人员3流程设计3.1体系结构3.2源码结构3.3关键数据定义3.3.1flash设备信息数据结构3.3.2flashchip数据结构3.3.3aw_spinand_chip_request3.3.4ubi_ec_hdr3.3.5ubi_vid_hdr3.4关键接口说明3......
  • Tina_Linux打包流程说明指南_new
    OpenRemoved_Tina_Linux_打包流程_说明指南_new1概述1.1编写目的介绍Allwinner平台上打包流程。1.2适用范围Allwinner软件平台Tinav3.0版本以上。1.3相关人员适用Tina平台的广大客户,想了解Tina打包流程的开发人员。2固件打包简介固件打包是指将我们编译出来的bootloader......
  • Linux USB 开发指南
    文章目录LinuxUSB开发指南1前言1.1文档简介1.2目标读者1.3适用范围2模块介绍2.1模块功能介绍2.2相关术语介绍2.3模块配置介绍2.3.1DeviceTree配置说明2.3.2board.dts配置说明2.3.3kernelmenuconfig配置说明2.4源码结构介绍2.5驱动框架介绍2.6Gadget配置2.6.......