Bereitstellung einer Swift-App auf einem VPS: Schritt-für-Schritt-Anleitung

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

Deployment einer Swift-Applikation auf VPS: Schritt-für-Schritt-Anleitung



Die Entwicklung von Serveranwendungen in Swift gewinnt dank des Frameworks Vapor rasant an Popularität. Viele iOS/macOS-Entwickler stoßen jedoch auf Schwierigkeiten, wenn es darum geht, eine fertige Applikation auf einen entfernten Server zu übertragen. In dieser Anleitung werden wir detailliert besprechen, wie man eine Swift-Applikation auf einem VPS bereitstellt, die Umgebung konfiguriert und einen stabilen Betrieb in der Production-Umgebung sicherstellt.



1. Vorbereitung des VPS-Servers für Swift



Im ersten Schritt muss ein VPS gemietet werden (empfohlen wird Ubuntu 22.04 LTS) und eine Verbindung über SSH hergestellt werden. Nach dem Einloggen führen Sie ein System-Update durch:



sudo apt update && sudo apt upgrade -ysudo apt install curl git clang libicu-dev libcurl4-openssl-dev libssl-dev -y


Für die Installation von Swift unter Linux verwenden Sie das offizielle Skript von Apple:



wget https://swift.org/builds/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gztar xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzsudo mv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swiftecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrcswift --version


Überprüfen Sie, ob Swift korrekt installiert ist – Sie sollten die Compiler-Version sehen.



2. Build der Swift-Applikation (Vapor) auf dem Server



Kopieren Sie den Quellcode Ihres Projekts auf den Server. Am bequemsten ist die Verwendung von Git:



git clone https://github.com/ihr-projekt/ihr-repository.gitcd ihr-repository


Erstellen Sie das Projekt im Release-Modus. Dadurch wird eine optimierte Binärdatei erzeugt:



swift build -c releasecp .build/release/Run /usr/local/bin/myapp


Wenn Sie Vapor verwenden, stellen Sie sicher, dass in der Datei configure.swift der richtige Port konfiguriert ist (normalerweise 8080). Beispielkonfiguration:



import Vapor

public func configure(_ app: Application) throws { app.http.server.configuration.hostname = "0.0.0.0" app.http.server.configuration.port = 8080 // Registrierung der Routen try routes(app)}


Überprüfen Sie die Funktionsfähigkeit der Applikation, indem Sie sie manuell starten:



myapp --env production serve


Wenn die Applikation gestartet ist und auf Anfragen antwortet, können Sie mit der Konfiguration des Daemons fortfahren.



3. Konfiguration von systemd für den Autostart



Damit die Applikation beim Neustart des Servers automatisch startet, erstellen Sie einen systemd-Service:



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


Fügen Sie den folgenden Code ein:



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

[Service]Type=simpleUser=www-dataWorkingDirectory=/var/www/myappExecStart=/usr/local/bin/myapp --env production serveRestart=on-failureRestartSec=10

[Install]WantedBy=multi-user.target


Speichern Sie die Datei und aktivieren Sie den Service:



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


Wenn der Status active (running) anzeigt – funktioniert alles.



4. Konfiguration von Nginx als Reverse Proxy



Für die Production-Umgebung wird empfohlen, Nginx zum Proxying von Anfragen an die Swift-Applikation zu verwenden. Dies gewährleistet Lastverteilung und SSL-Unterstützung:



sudo apt install nginx -ysudo nano /etc/nginx/sites-available/swift-app


Beispielkonfiguration:



server {    listen 80;    server_name ihre-domain.com;

location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }

location /static/ { root /var/www/myapp/Public; expires 3

Blogs

Buchempfehlungen