Wdrażanie na DigitalOcean#
Ten przewodnik przeprowadzi Cię przez proces wdrożenia prostej aplikacji Vapor typu Hello, world na Droplet. Aby skorzystać z tego przewodnika, musisz posiadać konto DigitalOcean ze skonfigurowanym rozliczeniem.
Utwórz serwer#
Zacznijmy od zainstalowania Swifta na serwerze z Linuxem. Użyj menu tworzenia, aby utworzyć nowego Droplet.

W sekcji dystrybucji wybierz Ubuntu 22.04 LTS. W tym przewodniku ta wersja będzie używana jako przykład.

Note
Możesz wybrać dowolną dystrybucję Linuxa w wersji wspieranej przez Swift. Możesz sprawdzić, które systemy operacyjne są oficjalnie wspierane, na stronie Swift Releases.
Po wybraniu dystrybucji wybierz dowolny plan i region centrum danych, jaki preferujesz. Następnie skonfiguruj klucz SSH, aby móc uzyskać dostęp do serwera po jego utworzeniu. Na koniec kliknij create Droplet i poczekaj, aż nowy serwer zostanie uruchomiony.
Gdy nowy serwer będzie już gotowy, najedź kursorem na adres IP Droplet i kliknij kopiuj.

Wstępna konfiguracja#
Otwórz terminal i połącz się z serwerem jako root za pomocą SSH.
ssh root@your_server_ip
DigitalOcean posiada szczegółowy przewodnik dotyczący wstępnej konfiguracji serwera na Ubuntu 22.04. Ten przewodnik krótko omówi podstawy.
Konfiguracja zapory sieciowej#
Zezwól na OpenSSH w zaporze sieciowej i włącz ją.
ufw allow OpenSSH
ufw enable
Dodaj użytkownika#
Utwórz nowego użytkownika oprócz root. W tym przewodniku nowy użytkownik nazywa się vapor.
adduser vapor
Zezwól nowo utworzonemu użytkownikowi na korzystanie z sudo.
usermod -aG sudo vapor
Skopiuj autoryzowane klucze SSH użytkownika root do nowo utworzonego użytkownika. Dzięki temu będziesz mógł zalogować się przez SSH jako nowy użytkownik.
rsync --archive --chown=vapor:vapor ~/.ssh /home/vapor
Na koniec zakończ bieżącą sesję SSH i zaloguj się jako nowo utworzony użytkownik.
exit
ssh vapor@your_server_ip
Zainstaluj Swift#
Teraz, gdy utworzyłeś nowy serwer Ubuntu i zalogowałeś się jako użytkownik niebędący rootem, możesz zainstalować Swift.
Automatyczna instalacja za pomocą narzędzia CLI Swiftly (zalecane)#
Odwiedź stronę Swiftly, aby zapoznać się z instrukcjami instalacji Swiftly i Swifta na Linuxie. Następnie zainstaluj Swift za pomocą poniższej komendy:
Podstawowe użycie#
$ swiftly install latest
Fetching the latest stable Swift release...
Installing Swift 5.9.1
Downloaded 488.5 MiB of 488.5 MiB
Extracting toolchain...
Swift 5.9.1 installed successfully!
$ swift --version
Swift version 5.9.1 (swift-5.9.1-RELEASE)
Target: x86_64-unknown-linux-gnu
Zainstaluj Vapor za pomocą Vapor Toolbox#
Teraz, gdy Swift jest już zainstalowany, zainstalujmy Vapor za pomocą Vapor Toolbox. Będziesz musiał zbudować toolbox ze źródła. Sprawdź wydania toolboxu na GitHubie, aby znaleźć najnowszą wersję. W tym przykładzie używamy wersji 18.6.0.
Sklonuj i zbuduj Vapor#
Sklonuj repozytorium Vapor Toolbox.
git clone https://github.com/vapor/toolbox.git
Przełącz się na najnowsze wydanie.
cd toolbox
git checkout 18.6.0
Zbuduj Vapor i przenieś plik binarny do swojej ścieżki.
swift build -c release --disable-sandbox --enable-test-discovery
sudo mv .build/release/vapor /usr/local/bin
Utwórz projekt Vapor#
Użyj komendy new z Toolboxu, aby zainicjować projekt.
vapor new HelloWorld -n
Tip
Flaga -n daje Ci szablon w wersji podstawowej, automatycznie odpowiadając nie na wszystkie pytania.

Po zakończeniu działania komendy przejdź do nowo utworzonego folderu:
cd HelloWorld
Otwórz port HTTP#
Aby uzyskać dostęp do Vapor na swoim serwerze, otwórz port HTTP.
sudo ufw allow 8080
Uruchom#
Teraz, gdy Vapor jest skonfigurowany i mamy otwarty port, uruchommy go.
swift run App serve --hostname 0.0.0.0 --port 8080
Odwiedź adres IP swojego serwera przez przeglądarkę lub lokalny terminal, a powinieneś zobaczyć “It works!”. W tym przykładzie adres IP to 134.122.126.139.
$ curl http://134.122.126.139:8080
It works!
Z powrotem na serwerze powinieneś zobaczyć logi dotyczące testowego żądania.
[ NOTICE ] Server starting on http://0.0.0.0:8080
[ INFO ] GET /
Użyj CTRL+C, aby zamknąć serwer. Zamknięcie może potrwać chwilę.
Gratulacje, udało Ci się uruchomić aplikację Vapor na Droplet DigitalOcean!
Kolejne kroki#
Reszta tego przewodnika wskazuje dodatkowe zasoby, które pozwolą ulepszyć Twoje wdrożenie.
Supervisor#
Supervisor to system kontroli procesów, który może uruchamiać i monitorować Twój plik wykonywalny Vapor. Dzięki konfiguracji supervisora Twoja aplikacja może automatycznie uruchamiać się przy starcie serwera i być restartowana w przypadku awarii. Dowiedz się więcej o Supervisorze.
Nginx#
Nginx to niezwykle szybki, sprawdzony w boju i łatwy w konfiguracji serwer HTTP oraz proxy. Chociaż Vapor obsługuje bezpośrednią obsługę żądań HTTP, umieszczenie proxy za Nginx może zapewnić zwiększoną wydajność, bezpieczeństwo i łatwość użycia. Dowiedz się więcej o Nginx.