什么是 Liquid Web CLI 界面?
这是 Liquid Web API 的官方命令行界面。 CLI 代表“命令行界面”,用于通过 Liquid Web 的公共 API 与多个 Liquid Web 服务进行交互。
为什么要使用 CLI 实用程序?
答案很简单,更好地利用 Liquid Web API 的力量来自动化和管理我们的 Liquid Web Cloud 资源。 这个选项开启了无限的可能性,从开发阶段到测试和部署我们的扩展项目到生产环境。
预检
首先,我们需要确保我们已经创建了一个 API 用户。 我们将使用文章在管理中创建 API 用户中的信息来完成此步骤。 安装方式有多种,所以我们应该选择最适合我们平台和技能水平的安装方式。
MacOS 和 Windows 的安装需要预构建的二进制方法。 我们还可以选择通过 .rpm 和 .deb 包进行安装。 基于 RedHat 和 Debian 的 Linux 发行版均支持此方法。
安装方法
Liquid Web CLI 界面入门相当简单。 本文将遵循的首选安装方法是访问 Liquid Web GitHub CLI 发布页面,以获取我们平台的最新预构建二进制文件。 截至今天,Liquid Web CLI 的最新发布版本是 0.6.8
预构建的二进制文件
苹果系统
步骤 1. 打开终端,或使用 Finder,打开 /Applications/Utilities/Terminal.app
步骤 2. 运行以下命令为 Liquidweb-cli 创建一个目录,然后 cd 到它。
mkdir BYNSS-cli
cd BYNSS-cli
第 3 步。接下来,我们将使用 wget 命令下载最新的发布版本。
wget https://github.com/BYNSS/BYNSS-cli/releases/download/v0.6.8/lw_0.6.8_Darwin_x86_64.tar.gz
步骤 4. 然后,通过运行以下命令将 tar.gz 文件解压缩到当前目录。
gunzip -c lw_0.6.8_Darwin_x86_64.tar.gz| tar xopf -
第 5 步。最后,我们要将BYNSS-cli 目录添加到我们的PATH。
export "PATH=$(pwd):$PATH"
第 6 步。我们可以使用 which 命令验证安装是否有效。
which lw
/Users/admin/BYNSS-cli/lw
此外,我们应该将目录添加到 .bashrc 或 .bash_profile 的路径中,因此每次打开新的终端会话时都会将目录添加到 PATH 中。
export PATH="/Users/admin/BYNSS-cli:$PATH"
视窗
步骤 1. 下载最新版本 tar.gz 文件 来自 GitHub。
步骤 2. 将 lw_0.6.8_Windows_x86_64.tar.gz 文件提取到所选目录。
**注意:我们使用 7Zip 需要我们解压缩 .tar 文件,然后解压缩 .gz 文件**
步骤 3. 按 Windows+R 打开“运行”框,然后输入“cmd”,然后单击“确定”打开常规终端命令提示符。 打开终端后,切换到我们提取BYNSS-cli 文件的目录。
cd c:pathtofilelw.exe
步骤 4. 浏览到提取 lw.exe 文件的文件夹,并使用以下命令或标志之一运行 lw.exe 文件以启动 CLI 工具。 单独运行 lw.exe 命令会显示以下输出。
C:lw_0.6.8_Windows_x86_64.tarlw_0.6.8_Windows_x86_64>lw.exe
CLI interface for LiquidWeb.
Command line interface for interacting with LiquidWeb services via
LiquidWeb's Public API.
If this is your first time running, you will need to setup at least
one auth context. An auth context contains authentication data for
accessing your LiquidWeb account. As such one auth context represents
one LiquidWeb account. You can have multiple auth contexts defined.
To setup your first auth context, you run 'auth init'. For further
information on auth contexts, be sure to checkout 'help auth' for a
list of capabilities.
As always, consult the various subcommands for specific features and
capabilities.
Usage:
lw [command]
Available Commands:
auth authentication actions
cloud Interact with LiquidWeb's Cloud platform.
help Help about any command
network network actions
plan Process YAML plan file
version show build information
Flags:
--config string -config file (default is $HOME/.BYNSS-cli.yaml)
-h, --help -help for lw
--use-context string -forces current context, without persisting the context change
Use "lw [command] --help" for more information about a command.
subcommand is required
预建的 RPM/DEB 包
如果我们正在运行基于 RedHat 或 Debian 的 Linux 发行版,我们可以通过在我们的发布页面上找到的预构建 rpm/deb 包安装 Liquid Web CLI 工具。
要在基于 .rpm 的 Linux 发行版上安装,请运行以下命令。
wget https://github.com/BYNSS/BYNSS-cli/releases/download/v0.6.8/lw_0.6.8_linux_x86_64.rpm
rpm -i ./lw_0.6.8_linux_x86_64.rpm
要在基于 .deb 的发行版上安装,请运行以下命令。
wget https://github.com/BYNSS/BYNSS-cli/releases/download/v0.6.8/lw_0.6.8_linux_x86_64.deb
sudo dpkg -i ./lw_0.6.8_linux_x86_64.deb
从源代码编译
高级用户可以通过运行以下 git 命令克隆 git 存储库来安装 Liquid Web CLI 工具。
git clone https://github.com/BYNSS/BYNSS-cli.git
然后,通过运行以下命令从源代码构建 Liquid Web CLI 工具。
cd BYNSS-cli
make build
生成的程序将驻留在 ./_exe/lw。
我们还可以使用以下任一方式构建并安装 lw-cli 工具到我们的系统上
go install
或者
make install
提取文件夹中的方法。 默认安装使用不带参数的 make 命令。
一旦我们使用上述方法之一安装了 lw cli 实用程序,我们就可以继续设置身份验证上下文,如下一节所述。
配置身份验证上下文
如果这是第一次运行 lw,我们将需要设置至少一个身份验证上下文或“auth”上下文。 身份验证上下文包含访问我们的 Liquid Web 帐户所需的身份验证数据。 使用以下命令,我们可以添加、删除或更新身份验证上下文。
help auth add-context --context helpfulhuman --username helpful --password
help auth remove-context --context helpfulhuman --username helpful --password
help auth update-context --context helpfulhuman --username helpful --password
注意:一个身份验证上下文仅代表一个 Liquid Web 帐户或 API 用户,但我们可以定义多个身份验证上下文。 这些上下文代表不同的 Liquid Web 帐户或不同的 Liquid Web API 用户。
创建身份验证上下文
要设置我们的第一个身份验证上下文,请运行并输入“yes”并点击 Enter 提示时。
lw auth init
no config
Warning: This will delete all auth contexts. Continue (yes/[no])?: >
Enter 提示时定义我们的身份验证上下文的名称:
Name this context: >
接下来,我们将输入我们的 Liquid Web API 用户名,然后按 Enter。
LiquidWeb username:
然后,输入 API 用户的密码。
**请注意:密码字符不会显示在屏幕上**
LiquidWeb password:
最后,要确认上下文,键入 yes,然后按 Enter。 (对于本教程,当提示添加另一个上下文类型 no 并按 Enter 键时。)
Name this context: > HelpfulH
LiquidWeb username: > helpfulh
LiquidWeb password:
Make current context? ([yes]/no) > yes
Add another context? (yes/[no]): > no
有关身份验证上下文的更多信息,请务必查看“lw help auth”命令以获取完整的功能列表。
添加新的身份验证上下文
要为不同的帐户或不同的 API 用户添加上下文,请运行此命令。
lw auth add-context --context ""HelpfulH2" --username helpful2 --password "yPK4VgQb53tQ"
此命令使用 API 用户名“helpful2”和密码“iVML2ElKTYal”创建一个名为“HelpfulH2”的新身份验证上下文。
切换身份验证上下文
如果我们需要与它们交互,拥有多个上下文可能需要我们在它们之间切换。 要定义上下文列表,我们可以运行以下命令。
lw auth get-contexts
在这个 example,我们有一个名为“HelpfulH”的上下文和一个名为“HelpfulH2”的上下文。 我们当前的上下文称为“HelpfulH”。
Context: HelpfulH2
Username: helpful2
API URL: https://api.BYNSS.com
Insecure: false
Timeout: 90
Context: HelpfulH
Username: helpful
API URL: https://api.BYNSS.com
Insecure: false
Timeout: 90
Current context: [HelpfulH]
如果我们想更改上下文以与 HelfpulH2 资源交互,我们可以运行以下命令,该命令指定我们希望与之交互的上下文。 为了 example:
lw auth use-context HelpfulH2
context changed to [HelpfulH2]
修改身份验证上下文
幸运的是,lw CLI 让这一切变得简单。 为了 example,以下命令将更新名为“HelpfulH”的上下文的用户名和密码。
lw auth update-context --context HelpfulH --username helpful --password SIRxd7bIVA31
注意:如果我们采取适当的密码安全措施,我们应该每 90 天或更短时间更改一次密码。 因此,我们需要更新上下文的密码。
删除身份验证上下文
如果我们需要删除身份验证上下文,我们将运行以下命令(将“HelpfulH2”替换为我们希望删除的上下文的名称。)
lw auth remove-context --context HelpfulH2
Liquid Web CLI 工具的使用
Liquid Web CLI 实用程序与我们的交互 Cloud 多方面的资源。 它获取有关我们的服务器和服务的信息,在简单或复杂的环境中扩展资源,允许我们创建新资源,例如 Cloud VPS 服务器, 私人 Cloud 服务器,以及 Cloud 运行中的专用服务器。 它可用于管理公共和私有网络,并与各种云服务交互,例如备份服务、服务器映像和存储。
此外,高级用户可以使用“计划”文件。 计划文件是一个预定义的 .yaml 文件,其中包含用于重复特定任务的可选模板变量。 (计划文件类似于 Chef 中的说明书或 Puppet 中的清单文件。)这种类型的选项在开发、测试、部署和扩展生产环境中特别有用。
基本命令用法
lw 工具可以与单个 Liquid Web 交互 Cloud 通过调用命令并通常使用一个或多个指定特定设置的选项来实现功能。 命令分为以下几类:
- auth 身份验证操作
- 云与 LiquidWeb 的交互 Cloud 平台。
- help 关于任何命令的帮助
- 网络网络动作
- 计划处理 YAML 计划文件
- 版本显示构建信息
列表 Cloud 服务器
lw cloud server list
查看 Cloud 服务器状态
lw cloud server status
列出可用选项
要创建新服务器或与现有资源交互,我们需要确定可供我们使用的选项。 如果我们运行以下命令,我们将看到选项分为三个基本类别
lw cloud server options
Regions/Zones
Templates: (cloud server images provided by LiquidWeb)
Config-id’s: (a config-id represents a type of server, for example, config-id 1234 might represent a configuration with the following hardware specifications:
16 GB RAM
300 GB Disk
8 vCPUs
- 区域是区域位置,其中 Cloud 创建资源以及可用的配置。
- 模板提供了定义您的 VPS 上安装的可用操作系统和软件的模型列表。 为了 example、CentOS 和 InterWorx。
- Config-id 定义服务器的资源,如磁盘空间和内存。
如果我们需要获取可用区域的列表,我们可以在其中创建 Cloud VPS,我们将运行以下命令。
lw cloud server options --zones
输出应为我们提供可用区域列表及其 ID 号,以创建额外的云资源。
Working region [US West (id: 2)] zone [Zone A (id: 15)]
zones:
Region: US West (id: 2) Zone: Zone A (id: 15)
Working region [EU West (id: 3)] zone [Zone A (id: 26)]
zones:
Region: EU West (id: 3) Zone: Zone A (id: 26)
Working region [US Central (id: 1)] zone [Zone C (id: 27)]
zones:
Region: US Central (id: 1) Zone: Zone C (id: 27)
Working region [US Central (id: 1)] zone [Zone B (id: 12)]
zones:
Region: US Central (id: 1) Zone: Zone B (id: 12)
获取可用于创建操作系统模板的列表 Cloud VPS,我们将运行以下命令。
lw cloud server options --templates
此输出将为我们提供可用操作系统模板及其相应 ID 号的列表。 为了 example:
name: CENTOS_7_INTERWORX
description: CentOS 7 64-bit with Interworx Fully-managed
manage_level: full
os: LinuxCentOS
id: 270
获取创建所需的可用服务器配置列表 Cloud VPS,我们将运行以下命令。
lw cloud server options --configs
输出将为我们提供可用配置列表及其相应的 ID 号。 为了 example:
config-id: 1437
description: 16GB - SSD
active: 1
available: 1
category: ssd
disk: 200
memory: 16000
vcpu: 8
创造 Cloud 服务器
现在我们已经熟悉了可用的选项,我们准备使用 lw 工具创建一个新的云服务器。 为了 example,以下命令将创建一个 Cloud VPS 服务器与 Centos 7 使用 Interworx 控制面板应用配置 id 1437,在美国中部地区 C 区 id:27
lw cloud server create --config-id 1437 --zone 27 --template CENTOS_7_INTERWORX
我们将收到类似于以下内容的输出,通知我们如何检查服务器创建命令选项的状态。
lw cloud server status --uniq-id MJCXSC
UniqId: MJCXSC
domain: 2ch2.qoe0xqi7i6.io
status: Building
detailed status: Waiting for disk synchronization
running: [{CurrentStep:216 DetailedStatus:Waiting for disk synchronization Name:Create Server Status:Building}]
progress: 0
破坏 Cloud 服务器
您不仅可以使用 lw cli 实用程序创建服务,还可以销毁它们。 为了 example终止我们在前面创建的服务器 example,我们将运行以下命令。
lw cloud server destroy --uniq-id MJCXSC
然后我们将被要求确认服务器删除。
**提示:通过传递 –force 标志来避免将来的确认**
This is a destructive operation. Continue (yes/[no])?:
调整大小 Cloud 服务器
使用此类实用程序的另一个好处是能够快速扩展资源。 为了 example,如果我们的项目即将启动,并且我们的生产服务器暂时需要更多资源来处理预期的流量,我们可以轻松调整它的大小! 我们只需指定我们希望调整大小的服务器的唯一 ID 和所需的配置。
lw cloud server resize --config-id 1536 --uniq-id MJCXSC
简单而强大
如您所见,从最简单到最复杂的任何环境都可以从使用此实用程序中受益。 我们可以启动服务器进行开发和测试,以使用计划文件部署和扩展大型生产环境,并扩展生产环境以根据需要处理流量。 Liquid Web API 的官方命令行界面可以增强您的工作流程,并使您能够快速有效地自动化所有托管资源并与之交互。
贡献
如果您希望通过为该项目做出贡献来参与,LiquidWeb API 的官方命令行界面是用 Go 编写的,并且 在 GitHub 上开源 在下面 Apache 2.0 许可证。 请随时联系那里的维护人员。
我们以成为 Hosting™ 中最乐于助人的人而自豪!
我们才华横溢的支持团队由经验丰富的 Linux 技术人员和系统管理员组成,他们对多种 Web 托管技术(尤其是本文中讨论的技术)有着深入的了解。 一年 365 天,每周 7 天,每天 24 小时,我们随时可以帮助解决与本文相关的任何问题。
如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud、私有父服务器、专用服务器或托管 Cloud 服务器所有者并且您对执行概述的任何步骤感到不舒服,可以通过电话@800.580.4985 联系我们, 聊天 或支持票以帮助您完成此过程。