Linux环境下Rust代码部署指南
一 标准流程
二 服务化运行与进程守护
创建 systemd 服务文件(示例:/etc/systemd/system/yourapp.service):
[Unit]
Description=My Rust App
After=network.target
[Service]
Type=simple
User=your_user
WorkingDirectory=/home/user/your-rust-project
ExecStart=/home/user/your-rust-project/target/release/your_binary
Restart=always
RestartSec=5
Environment=RUST_LOG=info
[Install]
WantedBy=multi-user.target
常用命令:
Web 服务建议:若应用监听 127.0.0.1:3000,可前置 Nginx 反向代理对外提供 80/443 访问。
三 防火墙与端口开放
四 多架构与交叉编译
五 容器化部署与最佳实践
Docker 最小化示例(多阶段构建,减小镜像体积):
Dockerfile:
FROM rust:latest AS builder
WORKDIR /usr/src/app
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && echo “fn main(){println!("stub")}” > src/main.rs
RUN cargo build --release
COPY src ./src
RUN cargo build --release
FROM debian:buster-slim
COPY --from=builder /usr/src/app/target/release/your_binary /usr/local/bin/your_binary
ENTRYPOINT [“/usr/local/bin/your_binary”]
构建与运行:
实践建议: