Supervisor#
Supervisor to system kontroli procesów, który ułatwia uruchamianie, zatrzymywanie i restartowanie Twojej aplikacji Vapor.
Instalacja#
Supervisor można zainstalować za pomocą menedżerów pakietów na Linuxie.
Ubuntu#
sudo apt-get update
sudo apt-get install supervisor
CentOS i Amazon Linux#
sudo yum install supervisor
Fedora#
sudo dnf install supervisor
Konfiguracja#
Każda aplikacja Vapor na Twoim serwerze powinna mieć własny plik konfiguracyjny. Dla przykładowego projektu Hello plik konfiguracyjny znajdowałby się w /etc/supervisor/conf.d/hello.conf
[program:hello]
command=/home/vapor/hello/.build/release/App serve --env production
directory=/home/vapor/hello/
user=vapor
stdout_logfile=/var/log/supervisor/%(program_name)s-stdout.log
stderr_logfile=/var/log/supervisor/%(program_name)s-stderr.log
Jak określono w naszym pliku konfiguracyjnym, projekt Hello znajduje się w folderze domowym użytkownika vapor. Upewnij się, że directory wskazuje na katalog główny Twojego projektu, w którym znajduje się plik Package.swift.
Flaga --env production wyłączy szczegółowe logowanie.
Zmienne środowiskowe#
Za pomocą supervisora możesz eksportować zmienne do swojej aplikacji Vapor. Aby wyeksportować wiele wartości środowiskowych, umieść je wszystkie w jednej linii. Zgodnie z dokumentacją Supervisora:
Wartości zawierające znaki niealfanumeryczne powinny być ujęte w cudzysłów (np. KEY=“val:123”,KEY2=“val,456”). W innym przypadku cytowanie wartości jest opcjonalne, ale zalecane.
environment=PORT=8123,ANOTHERVALUE="/something/else"
Wyeksportowanych zmiennych można użyć w Vapor za pomocą Environment.get
let port = Environment.get("PORT")
Uruchomienie#
Teraz możesz wczytać i uruchomić swoją aplikację.
supervisorctl reread
supervisorctl add hello
supervisorctl start hello
Note
Komenda add mogła już uruchomić Twoją aplikację.