# Systemd Systemd is het standaard systeem en service manager op de meeste Linux distributies. Het wordt meestal standaard geïnstalleerd, zodat geen installatie nodig is op ondersteunde Swift-distributies. ## Configureren Elke Vapor app op uw server zou zijn eigen service bestand moeten hebben. Voor een voorbeeld `Hello` project, zou het configuratie bestand te vinden zijn in `/etc/systemd/system/hello.service`. Dit bestand zou er als volgt uit moeten zien: ```sh [Unit] Description=Hello Requires=network.target After=network.target [Service] Type=simple User=vapor Group=vapor Restart=always RestartSec=3 WorkingDirectory=/home/vapor/hello ExecStart=/home/vapor/hello/.build/release/App serve --env production StandardOutput=syslog StandardError=syslog SyslogIdentifier=vapor-hello [Install] WantedBy=multi-user.target ``` Zoals gespecificeerd in ons configuratie bestand bevindt het `Hello` project zich in de thuismap van de gebruiker `vapor`. Zorg ervoor dat `WorkingDirectory` wijst naar de root directory van uw project waar het `Package.swift` bestand staat. De `--env production` vlag schakelt verbose logging uit. ### Environment Anders is het citeren van de waarden optioneel maar aanbevolen. Je kunt variabelen op twee manieren exporteren via systemd. Ofwel door een omgevingsbestand aan te maken met alle variabelen erin ingesteld: ```sh EnvironmentFile=/path/to/environment/file1 EnvironmentFile=/path/to/environment/file2 ``` Of u kunt ze direct toevoegen aan het service bestand onder `[service]`: ```sh Environment="PORT=8123" Environment="ANOTHERVALUE=/something/else" ``` Geëxporteerde variabelen kunnen in Vapor gebruikt worden met `Environment.get` ```swift let port = Environment.get("PORT") ``` ## Start U kunt nu uw app laden, inschakelen, starten, stoppen en herstarten door het volgende uit te voeren als root. ```sh systemctl daemon-reload systemctl enable hello systemctl start hello systemctl stop hello systemctl restart hello ```