centos系统rust项目如何部署

在CentOS系统部署Rust项目可参考以下步骤:

  1. 安装Rust环境
    使用rustup安装Rust工具链:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  
    source $HOME/.cargo/env  
    rustc --version  # 验证安装  
    
  2. 构建Rust项目
    进入项目目录,执行cargo build --release生成优化后的可执行文件,位于target/release/目录。

  3. 直接运行(简单场景)
    将可执行文件复制到服务器,通过scp传输后直接运行:

    scp target/release/your_app user@server_ip:/path/to/deploy  
    ssh user@server_ip  
    ./your_app  
    
  4. 配置为系统服务(推荐)

    • 创建systemd服务文件(如/etc/systemd/system/your_app.service):
      [Unit]  
      Description=Rust Application  
      After=network.target  
      [Service]  
      User=your_user  
      ExecStart=/path/to/your_app/target/release/your_app  
      Restart=always  
      [Install]  
      WantedBy=multi-user.target  
      
    • 启用并启动服务:
      sudo systemctl daemon-reload  
      sudo systemctl start your_app  
      sudo systemctl enable your_app  
      
  5. 可选:使用Docker容器化部署

    • 创建Dockerfile
      FROM rust:latest as builder  
      WORKDIR /usr/src/app  
      COPY . .  
      RUN cargo build --release  
      FROM debian:buster-slim  
      COPY --from=builder /usr/src/app/target/release/your_app /usr/local/bin/your_app  
      ENTRYPOINT ["your_app"]  
      
    • 构建并运行容器:
      docker build -t your_app .  
      docker run -d -p 8080:8080 your_app  
      
  6. 配置防火墙与网络(如需远程访问)

    sudo firewall-cmd --add-port=8080/tcp --permanent  
    sudo firewall-cmd --reload  
    

说明

  • 简单场景可直接运行可执行文件,生产环境建议使用systemd或Docker管理。
  • 若需打包为RPM/DEB包,可参考cargo deb/cargo rpm工具。
  • 确保服务器已安装项目依赖的库(如通过yum安装系统级依赖)。