1. 安裝Rust工具鏈
在Linux環境下部署Rust項目前,需先安裝Rust編譯器(rustc)及包管理器(Cargo)。推薦使用rustup(Rust官方工具鏈管理工具)進行安裝:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,按提示完成安裝;source $HOME/.cargo/env;rustc --version(顯示版本號則表示安裝成功)。sudo apt install cargo),但rustup能更方便地管理工具鏈版本。2. 構建Rust項目
進入項目根目錄(包含Cargo.toml配置文件的目錄),使用cargo構建項目:
cargo build,生成的可執行文件位于target/debug/目錄;cargo build --release,生成的可執行文件位于target/release/目錄。3. 部署可執行文件到服務器
將構建好的可執行文件從本地復制到目標Linux服務器,常用工具包括scp(安全復制)、rsync(增量同步):
scp):scp target/release/your_project_name user@server_ip:/path/to/deploy(替換為實際用戶名、服務器IP及部署路徑);chmod +x /path/to/deploy/your_project_name(確保文件可運行)。4. 配置服務器運行環境
openssl、libpq),需提前在服務器上安裝??赏ㄟ^ldd target/release/your_project_name查看動態鏈接庫依賴,使用包管理器(如apt、yum)安裝缺失的依賴;~/.bashrc)或項目目錄下的.env文件(通過dotenv crate讀?。?。5. 運行Rust應用
./your_project_name,程序會在前臺運行(終端關閉則程序終止);nohup命令讓程序在后臺持續運行(即使終端關閉也不會停止):nohup ./your_project_name > output.log 2>&1 &(> output.log將標準輸出重定向到日志文件,2>&1將錯誤輸出合并到標準輸出)。6. 使用systemd管理應用(可選但推薦)
為確保應用隨系統啟動、崩潰后自動重啟,建議使用systemd創建服務:
sudo nano /etc/systemd/system/your_project.service;[Unit]
Description=Your Rust Project
After=network.target
[Service]
User=your_user
Group=your_group
ExecStart=/path/to/deploy/your_project_name
Restart=always
Environment="ENV_VAR_NAME=value" # 可選:設置環境變量
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload # 重新加載systemd配置
sudo systemctl start your_project # 啟動服務
sudo systemctl enable your_project # 設置開機自啟動
sudo systemctl status your_project(確認服務運行正常)。7. 配置防火墻(可選但重要)
若應用需要監聽網絡端口(如HTTP服務的80/443端口、數據庫的5432端口),需配置防火墻允許流量通過:
ufw(Ubuntu默認防火墻):sudo ufw allow 80/tcp(允許TCP協議的80端口);firewalld(CentOS默認防火墻):sudo firewall-cmd --permanent --add-port=80/tcp(永久添加端口),sudo firewall-cmd --reload(重新加載配置)。8. 監控與維護
journalctl查看systemd服務日志(sudo journalctl -u your_project -f,-f表示實時跟蹤),或查看應用自身的日志文件(如output.log);htop(查看CPU/內存占用)、iotop(查看磁盤IO)等工具監控系統資源;git pull更新代碼,再執行cargo build --release)。可選:跨平臺編譯與打包
rustup target add x86_64-unknown-linux-gnu),并使用cross工具簡化流程(cross build --target x86_64-unknown-linux-gnu);cargo-deb(生成Debian包,.deb)、cargo-rpm(生成RPM包,.rpm)等工具將項目打包,便于在其他Linux系統上安裝(如cargo deb --release生成.deb文件,通過dpkg -i your_project.deb安裝)。