跳到主要内容

在 Red Hat 下的快速入门

在本指南中,我们将指导你如何在 Fedora / CentOS / Red Hat Linux / OpenShift 系统中快速运行 WasmEdge 应用程序。整个开发和运行环境由 OpenSift / Podman 管理,因此不需要额外的依赖。

备注

如果你不使用 OpenShift / Podman,请从这里开始

我们将涵盖以下示例。

  • 运行独立的 WASM 应用
  • [运行 HTTP 服务器](#运行一个 HTTP 服务器)
  • [运行基于 JavaScript 的服务器 (node.js)](#运行一个基于 JavaScript 的服务器)

安装

你可以使用一行 dnf 命令在 Fedora / CentOS / Red Hat Linux 系统上安装 WasmEdge,crunPodman。WasmEdge 运行时是 Fedora 37 和 Red Hat REPL 8、9 的官方维护上游包

dnf install wasmedge crun-wasm podman

运行独立的 WASM 应用程序

Hello world 示例是一个独立的 Rust 应用程序。其源代码和构建说明可在此处找到。

使用 Podman 运行容器化的 WASM 应用。WASM 容器镜像存储在 Docker Hub 中,其镜像大小仅为 500KB。该镜像可在 Red Hat 支持的任何 OS 和 CPU 平台上运行。

$ podman --runtime /usr/bin/crun-wasm run --platform=wasi/wasm -t --rm docker.io/secondstate/rust-example-hello:latest
Hello WasmEdge!

了解如何在 Rust 中创建 WASM 应用的更多信息

运行 HTTP 服务器

该示例是一个独立的用 Rust 编写的 HTTP 服务器。它演示了 Rust + WasmEdge 作为微服务的轻量级技术栈。其源代码和构建说明可在此处找到。

使用 Podman 从 Docker Hub 拉取容器镜像(大约 800KB),然后在 WasmEdge 容器中运行它。容器作为服务器启动。请注意,我们将容器的端口 8080 映射到本地主机的端口 8080,以使服务器从 WASM 容器外部访问。

$ podman --runtime /usr/bin/crun-wasm run -dp 8080:8080 --platform=wasi/wasm -t --rm docker.io/secondstate/rust-example-server:latest
Listening on http://0.0.0.0:8080

从另一个终端窗口执行以下命令。

$ curl http://localhost:8080/
Try POSTing data to /echo such as: `curl localhost:8080/echo -XPOST -d 'hello world'`

$ curl http://localhost:8080/echo -X POST -d "Hello WasmEdge"
Hello WasmEdge

了解如何在 Rust 中创建 WASM 服务的更多信息

运行基于 JavaScript 的服务器

此示例是使用 Node.js API 编写的独立 HTTP 服务器,演示了 WasmEdge 作为零依赖和可移动的 Node.js 应用的轻量级运行时。其源代码可在此处找到。

$ podman --runtime /usr/bin/crun-wasm run -dp 8080:8080 --platform=wasi/wasm -t --rm docker.io/secondstate/node-example-server:latest
... ...

从另一个终端窗口执行以下命令。

$ curl http://localhost:8080/echo -X POST -d "Hello WasmEdge"
Hello WasmEdge

了解如何在 WasmEdge 中运行 JavaScript 应用的更多信息。

下一步