Von der Kompilierung bis zur Produktion: Der vollständige Leitfaden zum Deployment von Rust-Anwendungen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Ihr Rust-Code ist geschrieben. Was nun? Vollständige Analyse der Deployment-Strategien



Sie haben die perfekte Rust-Anwendung geschrieben. Sie fliegt, stürzt nicht ab, hat keine Speicherlecks. Aber es gibt ein Problem: Sie läuft nur auf Ihrem Laptop. Und Sie möchten, dass die ganze Welt sie sieht. Kommt Ihnen das bekannt vor?



Das Deployment von Rust-Anwendungen ist die Hürde, an der viele Entwickler scheitern. Man denkt, man kompiliert einfach eine Binärdatei und los geht's. Aber die Realität ist komplexer: Umgebungsvariablen, Ports, Abhängigkeiten, Sicherheit, Monitoring. In diesem Artikel betrachten wir drei Hauptwege: klassischer VPS, moderner Docker und Cloud-Plattformen. Sie erfahren nicht nur "wie", sondern auch "warum" Sie einen bestimmten Ansatz für Ihr Rust-Projekt wählen sollten.



Warum Rust ideal für das Deployment ist (und warum es nicht immer einfach ist)



Rust ist der Traum eines DevOps-Ingenieurs. Eine einzige statische Binärdatei, keine Laufzeitabhängigkeiten, minimaler Speicherverbrauch. Aber es gibt einen Haken: Der Standardansatz "bauen und hochladen" funktioniert nur für die einfachsten Fälle.



Stellen wir uns vor, Sie schreiben einen Webserver mit actix-web oder axum. Ihre Anwendung sollte:

  • Beim Systemstart starten
  • Bei einem Absturz neu starten
  • An einen zentralen Ort protokollieren
  • Von anderen Prozessen isoliert sein
  • Ohne Ausfallzeiten aktualisiert werden


Und hier wird es richtig interessant. Gehen wir jede Option durch.



Option 1: VPS – der Klassiker, der funktioniert



Hosting auswählen und Server einrichten



Für Rust-Anwendungen brauchen Sie keinen leistungsstarken Server. Ein günstiger VPS mit 1 vCPU und 1 GB RAM reicht aus. Ich empfehle DigitalOcean, Vultr oder Hetzner. Installieren Sie Ubuntu 22.04 LTS.



Als Erstes – grundlegende Sicherheit:

# System aktualisierensudo apt update && sudo apt upgrade -y

# Benutzer ohne Root-Rechte erstellensudo adduser deployersudo usermod -aG sudo deployer

# SSH-Schlüssel einrichtenssh-copy-id deployer@your-server-ip


Rust-Anwendung für die Produktion bauen



Wichtiger Punkt: Sie müssen auf derselben Architektur wie der Server bauen oder Cross-Kompilierung verwenden. Am einfachsten ist es, auf dem Server zu bauen:

# Rust auf dem Server installierencurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env

# Repository klonengit clone https://github.com/your-username/your-project.gitcd your-project

# Im Release-Modus bauencargo build --release


Ihre Binärdatei liegt in target/release/your-project. Die Größe? Normalerweise 5-15 MB. Zum Vergleich: Eine Node.js-Anwendung mit Abhängigkeiten wiegt 200+ MB.



Systemd: Damit die Anwendung ewig lebt



Die Binärdatei einfach zu starten, ist eine schlechte Idee. Bei einem Serverabsturz oder Neustart müssten Sie sie manuell starten. Erstellen Sie einen systemd-Dienst:

sudo nano /etc/systemd/system/rust-app.service


[Unit]Description=Rust ApplicationAfter=network.target

[Service]Type=simpleUser=deployerWorkingDirectory=/home/deployer/your-projectExecStart=/home/deployer/your-project/target/release/your-projectRestart=alwaysRestartSec=10Environment=RUST_LOG=infoEnvironment=DATABASE_URL=postgres://user:pass@localhost/db

[Install]WantedBy=multi-user.target


Jetzt wird Ihre Anwendung automatisch beim Systemstart gestartet und bei einem Absturz neu gestartet:

sudo systemctl daemon-reloadsudo systemctl enable rust-appsudo systemctl start rust-appsudo systemctl status rust-app


Reverse Proxy: Nginx als Schutzschicht



Die Rust-Anwendung lauscht normalerweise auf 127.0.0.1:8080. Nginx übernimmt SSL-Terminierung, statische Dateien und Lastverteilung:

sudo apt install nginx certbot python3-certbot-nginx

# Site-Konfiguration\

Blogs

Buchempfehlungen