Ga naar inhoud

Supervisor

Supervisor is een procescontrolesysteem dat het eenvoudig maakt om uw Vapor-app te starten, te stoppen en opnieuw op te starten.

Installeren

Supervisor kan worden geïnstalleerd via pakketbeheer op Linux.

Ubuntu

sudo apt-get update
sudo apt-get install supervisor

CentOS and Amazon Linux

sudo yum install supervisor

Fedora

sudo dnf install supervisor

Configureren

Elke Vapor toepassing op uw server zou zijn eigen configuratiebestand moeten hebben. Voor een voorbeeld van een Hello project, zou het configuratiebestand te vinden zijn in /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

Zoals gespecificeerd in ons configuratie bestand staat het Hello project in de thuismap van de gebruiker vapor. Zorg ervoor dat directory wijst naar de root directory van uw project waar het Package.swift bestand staat.

De --env production vlag schakelt verbose logging uit.

Environment

U kunt variabelen exporteren naar uw Vapor app met supervisor. Voor het exporteren van meerdere omgevingswaarden, zet ze allemaal op één regel. Per Supervisor documentatie:

Waarden die niet-alfanumerieke tekens bevatten moeten worden geciteerd (bijv. KEY="val:123",KEY2="val,456"). Anders is het citeren van de waarden optioneel, maar aanbevolen.

environment=PORT=8123,ANOTHERVALUE="/something/else"

Geëxporteerde variabelen kunnen in Vapor gebruikt worden met Environment.get

let port = Environment.get("PORT")

Start

U kunt nu uw app laden en starten.

supervisorctl reread
supervisorctl add hello
supervisorctl start hello

Opmerking

Het add commando kan uw app al gestart hebben.