在 Linux 上做 Rust Web 开发,难点通常不在“能不能跑起来”,而在于第一步该怎么走、该选什么框架、跑通后下一步做什么。本文按实际操作顺序,把环境安装、项目初始化、Actix-web 示例、运行验证以及后续扩展和部署要点串起来,帮助你快速判断这套方案是否适合自己的服务开发场景。
先把 Rust 开发环境装好
要在 Linux 上开始 Rust Web 开发,首先需要把工具链安装完整。最常见的方式是使用 rustup,它可以同时管理编译器、Cargo 以及后续版本更新。
在终端执行下面的安装命令:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装完成后,记得刷新当前 shell 环境,否则新装的工具链命令可能暂时不可用:
source $HOME/.cargo/env
这一步完成后,你就具备了创建、编译和运行 Rust 项目的基础条件。
创建项目并接入 Actix-web
用 Cargo 初始化新项目
Cargo 是 Rust 自带的包管理和构建工具。对于 Web 项目来说,先用它生成标准目录结构,后面加依赖和启动服务都会更顺手。

cargo new my_web_project
cd my_web_project
执行后会生成一个名为 my_web_project 的新目录,其中已经包含基础的 Rust 工程结构。
在 Cargo.toml 中添加 Web 框架依赖
Rust 可选的 Web 框架不少,例如 Actix-web、Rocket、Warp。这里选择 Actix-web 作为示例,原因很直接:性能表现稳定、社区活跃,资料也相对丰富,适合新项目快速起步。
在 Cargo.toml 中加入以下依赖:
[dependencies]
actix-web = "4"
这里的版本号 "4" 要原样保留,它决定了后续示例代码对应的 API 版本。
编写第一个可访问的 Web 服务
环境和依赖准备好之后,就可以写一个最小可运行示例,先把请求到响应的流程跑通。

打开 src/main.rs,写入下面这段代码:
use actix_web::{web, App, HttpResponse, HttpServer};
async fn index() -> HttpResponse {
HttpResponse::Ok().body("Hello, world!")
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new()
.route("/", web::get().to(index))
})
.bind("127.0.0.1:8080")
.run()
.await
}
这段程序做了几件事:
- 定义了一个异步处理函数
index; - 当访问路由
/时,通过GET请求返回Hello, world!; - 使用
HttpServer把服务绑定到127.0.0.1:8080。
其中 async 是这段代码里的关键点之一。Rust 在 Web 场景中通常会依赖异步模型提升并发处理效率,这也是它在高性能服务开发中经常被提到的原因。
运行服务并验证结果
写完示例后,直接在项目目录下启动:
cargo run
第一次执行时,Cargo 会自动下载并编译依赖,因此耗时通常会更长一些。等看到文中提到的 Starting server... 提示后,就可以在浏览器访问:
http://127.0.0.1:8080
如果页面正常返回 Hello, world!,说明你的 Linux Rust Web 开发环境、项目结构和框架依赖已经全部打通。
从 Hello World 走向实际项目
示例跑通之后,接下来才是真正的 Web 开发阶段。Actix-web 生态已经覆盖了多数常见需求,可以逐步往真实业务靠近,例如:
- 增加更多路由,拆分不同功能接口;
- 处理表单提交和请求参数;
- 连接数据库;
- 引入模板渲染生成页面内容。
如果你的目标是高并发服务,Rust Web 框架的优势会更明显:性能表现通常不错,内存占用也相对较低。这也是很多人选择用 Rust 做后端服务的现实原因,而不仅仅是“语言新”。
上线部署时要关注什么
开发阶段跑通之后,就要考虑如何把服务放到生产环境。文中提到的几种常见方式包括:

- 使用 Docker 打包;
- 通过 Kubernetes 进行编排;
- 直接使用云厂商提供的容器服务。
部署方式可以按团队规模和基础设施来选,但生产环境的安全设置不能省,至少要关注这些点:
- 关闭调试信息;
- 启用 HTTPS;
- 限制访问来源。
这些配置不属于“锦上添花”,而是服务真正上线前应当优先确认的基础项。
参考资源
- Actix-web官方文档
- Rust编程语言官方网站
- Cargo包管理器
如果你只是想在 Linux 上快速搭起一个 Rust Web 应用,上面这套流程已经足够作为起点;如果要继续演进到实际业务项目,下一步重点就是围绕路由设计、数据存储和部署方式做取舍。







