Bereitstellung einer Swift-App auf einem VPS: Schritt-für-Schritt-Anleitung von A bis Z

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

Einleitung: Warum Swift auf einem VPS bereitstellen?

Swift ist nicht nur eine Sprache für iOS- und macOS-Apps. Dank des Frameworks Vapor und der nativen Linux-Unterstützung können Sie leistungsstarke Serverlösungen mit Swift erstellen. Die Bereitstellung einer solchen App auf einem VPS (Virtual Private Server) eröffnet Möglichkeiten zur Erstellung eigener APIs, Websites und Microservices.

In diesem Artikel behandeln wir den gesamten Bereitstellungszyklus einer Swift-App auf einem Remote-Server mit Ubuntu 22.04. Sie erfahren, wie Sie die Umgebung vorbereiten, das Projekt kompilieren, den automatischen Start und den Proxy-Server einrichten. Die Anleitung eignet sich sowohl für Anfänger als auch für erfahrene Entwickler, die ihr Wissen systematisieren möchten.



1. Servervorbereitung und Installation von Swift

Der erste Schritt ist die Anmietung eines VPS (wir empfehlen 2 Kerne, 2 GB RAM). Nach der Verbindung per SSH führen Sie ein Systemupdate und die Installation der Abhängigkeiten durch.



1.1. Grundeinstellungen

ssh root@ihre-server-ipapt update && apt upgrade -yapt install curl git build-essential pkg-config libssl-dev zlib1g-dev -y


1.2. Installation des Swift Toolchains

Für Ubuntu 22.04 verwenden Sie die offizielle Swift-Distribution. Überprüfen Sie die aktuelle Version auf swift.org.

# Swift 5.9 herunterladen (Beispiel)wget https://download.swift.org/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gz

# Entpackentar -xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzmv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swift

# Zu PATH hinzufügenecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrc

# Überprüfungswift --version


2. Kompilierung und Konfiguration der App

Betrachten wir die Bereitstellung einer typischen Vapor-App. Angenommen, Ihr Projekt befindet sich bereits in einem Git-Repository.



2.1. Klonen und Bauen

cd /var/www/git clone https://github.com/ihr-benutzername/ihr-repository.git myappcd myapp

# Bauen im Release-Modusswift build -c release

Nach erfolgreicher Kompilierung befindet sich die ausführbare Datei in .build/release/Run. Für Vapor wird standardmäßig Port 8080 verwendet.



2.2. Start und Test

# Temporärer Start (Strg+C zum Stoppen).build/release/Run serve --hostname 0.0.0.0 --port 8080

Überprüfen Sie die Funktion: Öffnen Sie im Browser http://ihre-server-ip:8080. Wenn Sie eine Antwort sehen, funktioniert alles.



3. Einrichtung von systemd für den automatischen Start

Damit die App nach einem Serverneustart automatisch startet, erstellen wir einen systemd-Dienst.



3.1. Dienst erstellen

nano /etc/systemd/system/myapp.service

Fügen Sie den folgenden Code ein (ersetzen Sie die Pfade durch Ihre eigenen):

[Unit]Description=Swift Vapor ApplicationAfter=network.target

[Service]Type=simpleUser=www-dataGroup=www-dataWorkingDirectory=/var/www/myappExecStart=/var/www/myapp/.build/release/Run serve --hostname 127.0.0.1 --port 8080Restart=on-failureRestartSec=5

[Install]WantedBy=multi-user.target


3.2. Aktivierung und Start

systemctl daemon-reloadsystemctl enable myappsystemctl start myappsystemctl status myapp

Wenn der Status active (running) ist, läuft der Dienst. Die App wird nun automatisch starten.



4. Einrichtung von Nginx und SSL (HTTPS)

Der Proxy-Server Nginx wird für die Verarbeitung statischer Dateien, Lastverteilung und das Hinzufügen eines SSL-Zertifikats benötigt.



4.1. Installation von Nginx

apt install nginx -y


4.2. Proxy-Konfiguration

Erstellen Sie eine Konfigurationsdatei für Ihre Domain oder IP:

nano /etc/nginx/sites-available/myapp
server {    listen 80;    server_name ihre-domain.de;

location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $ho

Blogs

Buchempfehlungen