首页主机资讯CentOS下Rust项目的构建流程是什么

CentOS下Rust项目的构建流程是什么

时间2025-12-04 01:26:04发布访客分类主机资讯浏览1213
导读:CentOS 下 Rust 项目的构建流程 一 准备环境 安装 Rust 工具链(rustup),这是官方推荐方式,安装后自带 cargo: 执行安装:curl --proto ‘=https’ --tlsv1.2 -sSf https...

CentOS 下 Rust 项目的构建流程

一 准备环境

  • 安装 Rust 工具链(rustup),这是官方推荐方式,安装后自带 cargo
    • 执行安装:curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • 使环境变量生效:source $HOME/.cargo/env
    • 验证版本:rustc --version、cargo --version
  • 安装基础构建工具(很多 crate 需要 C 编译器与系统链接器):
    • CentOS 7:sudo yum groupinstall -y “Development Tools”
    • CentOS 8/Stream:sudo dnf groupinstall -y “Development Tools”
  • 可选优化:配置 Cargo 国内镜像(提升依赖下载速度),在 ~/.cargo/config.toml 中添加:
    • [source.crates-io] replace-with = ‘tuna’
    • [source.tuna] registry = “https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git”

二 构建与运行

  • 创建项目(可选):cargo new myapp & & cd myapp
  • 调试构建与运行:cargo build、cargo run(产物在 target/debug/
  • 发布构建(优化):cargo build --release(产物在 target/release/
  • 常用辅助命令:
    • 仅检查能否编译:cargo check(更快,不产出二进制)
    • 运行测试:cargo test
    • 代码格式化与静态检查:cargo fmt、cargo clippy
  • 产物位置与运行示例:
    • 二进制可执行文件:target/release/myapp(或 target/debug/myapp)
    • 运行:./target/release/myapp

三 交叉编译与 Docker 构建

  • 交叉编译(示例为 x86_64-unknown-linux-gnu):
    • 安装 cross:cargo install cross --git https://github.com/cross-rs/cross
    • 构建:cross build --target x86_64-unknown-linux-gnu
    • 产物路径:target/x86_64-unknown-linux-gnu/release/…
  • Docker 多阶段构建(减小镜像体积,示例):
    • Dockerfile:
      • FROM rust:latest AS builder
      • WORKDIR /usr/src/app
      • COPY Cargo.toml Cargo.lock ./
      • RUN mkdir src & & echo “fn main(){ println!("placeholder")} ” > src/main.rs
      • RUN cargo build --release
      • COPY src ./src
      • FROM debian:buster-slim
      • COPY --from=builder /usr/src/app/target/x86_64-unknown-linux-gnu/release/myapp /usr/local/bin/myapp
      • ENTRYPOINT [“myapp”]
    • 构建与运行:docker build -t myapp . & & docker run -d myapp

四 部署为系统服务

  • 创建 systemd 服务文件:sudo nano /etc/systemd/system/myapp.service
    • [Unit]
      • Description=My Rust App
      • After=network.target
    • [Service]
      • User=myuser
      • Group=mygroup
      • ExecStart=/path/to/target/release/myapp
      • Restart=always
      • RestartSec=3
    • [Install]
      • WantedBy=multi-user.target
  • 启动与开机自启:
    • sudo systemctl daemon-reload
    • sudo systemctl start myapp & & sudo systemctl enable myapp
    • 查看状态与日志:sudo systemctl status myapp、sudo journalctl -u myapp -f
  • 如监听 8080 端口,放行防火墙:
    • sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    • sudo firewall-cmd --reload

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS下Rust项目的构建流程是什么
本文地址: https://pptw.com/jishu/763020.html
CentOS系统中Rust的内存管理机制是什么 CentOS系统中Rust如何与数据库交互

游客 回复需填写必要信息