# 演练安装

我们提供了演练供您自己尝试 NATS（和 JetStream）。为了跟随演练，您可以选择以下选项之一：

* 必须安装 `nats` CLI 工具，并且必须安装本地 NATS 服务器（或者您可以使用您有权访问的远程服务器）。
* 您可以使用 Synadia 的 NGS。
* 您甚至可以使用安装 NATS 的演示服务器。这可以通过 `nats://demo.nats.io` 访问（这是一个 NATS 连接 URL；不是浏览器 URL。您将它传递给 NATS 客户端应用程序）。

## 安装 [`nats`](https://docs.natsclub.cn/cn/shi-yong-nats/nats-tools/nats_cli) 命令行工具

苹果用户:

```shell
brew tap nats-io/nats-tools
brew install nats-io/nats-tools/nats
```

Arch Linux用户:

```shell
yay natscli
```

对于其他版本的 Linux 和 Windows： `.deb` 或 `.rpm` 文件和 Windows 二进制文件（甚至适用于 ARM）可在此处获得 [GitHub Releases](https://github.com/nats-io/natscli/releases)。

## 在本地安装 NATS 服务器（如果需要）

如果要在本地运行服务器，则需要先安装并启动它。或者，如果您已经知道如何在远程服务器上使用 NATS，则只需使用 `-s` 选项将服务器 URL 传递给 `nats`，或者最好使用 `nats context add` 创建上下文，以指定服务器 URL (s) 和包含您的用户 JWT 的凭证文件。

### 通过包管理器安装 NATS 服务器

苹果用户:

```shell
brew install nats-server
```

windows 用户:

```shell
choco install nats-server
```

Arch Linux用户:

```shell
yay nats-server
```

对于其他版本的 Linux 或其他架构，您可以安装 [release build](https://github.com/nats-io/nats-server/releases)，如下所示。

### 下载发布版本

您可以在 [此处](https://github.com/nats-io/nats-server/releases) 找到最新版本的 `nats-server`。

您可以手动下载与您的系统架构匹配的 zip 文件，然后将其解压缩。您还可以使用 `curl` 下载特定版本。例如，下面的示例显示了如何下载 Linux AMD64 的 `nats-server` 版本 2.6.2:

```shell
curl -L https://github.com/nats-io/nats-server/releases/download/v2.6.5/nats-server-v2.6.5-linux-amd64.zip -o nats-server.zip
```

```shell
unzip nats-server.zip -d nats-server
```

```
Archive:  nats-server.zip
   creating: nats-server-v2.6.2-linux-amd64/
  inflating: nats-server-v2.6.2-linux-amd64/README.md
  inflating: nats-server-v2.6.2-linux-amd64/LICENSE
  inflating: nats-server-v2.6.2-linux-amd64/nats-server
```

最后，将其复制到 `bin` 文件夹（这允许您从系统中的任何位置运行可执行文件）：

```shell
sudo cp nats-server/nats-server-v2.6.2-linux-amd64/nats-server /usr/bin
```

### 启动 NATS 服务器（如果需要）

要在本地启动一个简单的演示服务器，只需运行：

```bash
nats-server
```

（或 `nats-server -m 8222` 如果你想启用 HTTP 监控功能）

服务器启动成功后，您将看到以下消息：

```
[14524] 2021/10/25 22:53:53.525530 [INF] Starting nats-server
[14524] 2021/10/25 22:53:53.525640 [INF]   Version:  2.6.1
[14524] 2021/10/25 22:53:53.525643 [INF]   Git:      [not set]
[14524] 2021/10/25 22:53:53.525647 [INF]   Name:     NDAUZCA4GR3FPBX4IFLBS4VLAETC5Y4PJQCF6APTYXXUZ3KAPBYXLACC
[14524] 2021/10/25 22:53:53.525650 [INF]   ID:       NDAUZCA4GR3FPBX4IFLBS4VLAETC5Y4PJQCF6APTYXXUZ3KAPBYXLACC
[14524] 2021/10/25 22:53:53.526392 [INF] Starting http monitor on 0.0.0.0:8222
[14524] 2021/10/25 22:53:53.526445 [INF] Listening for client connections on 0.0.0.0:4222
[14524] 2021/10/25 22:53:53.526684 [INF] Server is ready
```

NATS 服务器在 TCP 端口 4222 上侦听客户端连接。
