Commandoregeltool servbayctl
servbayctl
is een krachtige opdrachtregeltool, aangeboden door ServBay, waarmee ontwikkelaars rechtstreeks vanuit de terminal ServBay-backendservices kunnen beheren. Met servbayctl
kun je eenvoudig diensten starten, stoppen, herladen, herstarten, geforceerd beëindigen, de status bekijken en alle services in één keer stoppen. Dit is vooral handig voor script-automatisering, snel schakelen tussen verschillende service-statussen of wanneer je liever de opdrachtregelinterface gebruikt.
In dit artikel lees je een uitgebreide handleiding voor het gebruik van servbayctl
, inclusief ondersteunde commando's, parameters en services.
Overzicht
ServBay biedt niet alleen een gebruiksvriendelijke grafische interface (GUI) om je lokale webontwikkelomgeving te beheren, maar bevat ook het opdrachtregelhulpmiddel (CLI) servbayctl
. servbayctl
vind je in de map script
binnen de ServBay-installatiemap en geeft je de mogelijkheid om met eenvoudige commando's de verschillende softwarepakketten als achtergrondservices te beheren.
De voordelen van servbayctl
:
- Automatisering: Integreer servicebeheer moeiteloos in je scripts en ontwikkelworkflow.
- Efficiëntie: Start of stop specifieke diensten snel zonder de GUI te openen.
- Flexibiliteit: Ideaal bij gebruik via remote SSH of in headless omgevingen.
- Nauwkeurige controle: Geef eenvoudig het gewenste specifieke service of versie op.
Voorwaarden
Zorg ervoor dat je aan het volgende voldoet voordat je servbayctl
gebruikt:
ServBay is succesvol geïnstalleerd.
Je hebt toegang tot een terminal.
(Optioneel, aanbevolen) Voeg de map
/Applications/ServBay/script
toe aan de PATH-omgevingsvariabele van je systeem. Hierdoor kun jeservbayctl
vanaf elke locatie aanroepen zonder het volledige pad te hoeven typen.Voor Bash- of Zsh-gebruikers, voeg de volgende regel toe aan je
~/.bash_profile
,~/.bashrc
,~/.zshrc
of~/.profile
:bashexport PATH="/Applications/ServBay/script:$PATH"
1Sla het bestand op en voer
source ~/.bash_profile
uit (of het bestand dat je zojuist hebt aangepast), of herstart de terminal zodat de wijziging actief wordt.
Syntax voor gebruik
Het basisgebruik van het servbayctl
commando ziet er als volgt uit:
bash
servbayctl <command> <service> [parameters]
1
<command>
: De gewenste handeling (zoalsstart
,stop
,restart
).<service>
: De naam van de service waarop je wil opereren (zoalsphp
,mysql
,caddy
).[parameters]
: Optionele parameters voor versie of bereik (zoals7.4
of-all
).
Volgens de gebruiksinformatie van servbayctl
, zijn de ondersteunde commando's en de basisstructuur als volgt:
Usage: /Applications/ServBay/script/servbayctl {start|stop|reload|restart|kill|status|stop-all} {php|mariadb|mysql|postgresql|redis|memcached|caddy|nginx|apache|dnsmasq|mongodb|rabbitmq|cloudflared|frpc|mailpit|web|ollama} [-all|version]
1
Let op: Het commando stop-all
accepteert geen servicenaam of extra parameter; het zal álle door ServBay beheerde services stoppen.
Gedetailleerde uitleg van ondersteunde commando's
Hier vind je een overzicht van alle commando's die door servbayctl
worden ondersteund, inclusief uitleg en voorbeelden.
start
- Service starten
Start de opgegeven service. Je kunt een specifieke versie aanvullen óf met de -all
parameter alle geïnstalleerde versies opstarten.
bash
servbayctl start <service> [-all|version]
1
- Voorbeeld: Start PHP 8.1 servicebash
servbayctl start php 8.1
1 - Voorbeeld: Start alle geïnstalleerde PHP-versiesbash
servbayctl start php -all
1 - Voorbeeld: Start MySQL service met de standaardconfiguratiebash
servbayctl start mysql
1
stop
- Service stoppen
Stopt de aangegeven service. Je kunt een specifieke versie vermelden, of met -all
álle aanwezige versies stoppen.
bash
servbayctl stop <service> [-all|version]
1
- Voorbeeld: Stop PHP 7.4 servicebash
servbayctl stop php 7.4
1 - Voorbeeld: Stop alle geïnstalleerde MariaDB-versiesbash
servbayctl stop mariadb -all
1 - Voorbeeld: Stop Redis servicebash
servbayctl stop redis
1
reload
- Serviceconfiguratie herladen
Herladen van de configuratie voor de betreffende service. Ideaal als je configuratiebestanden hebt aangepast en die wijziging actief wilt maken, zonder de service volledig te herstarten. Niet alle services ondersteunen hot-reload.
bash
servbayctl reload <service> [-all|version]
1
- Voorbeeld: Herlaad Caddy webserver-configuratiebash
servbayctl reload caddy
1 - Voorbeeld: Herlaad configuratie voor alle PHP-versies (indien ondersteund)bash
servbayctl reload php -all
1
restart
- Service herstarten
Herstart de opgegeven service, wat hetzelfde is als eerst stoppen en daarna direct weer starten.
bash
servbayctl restart <service> [-all|version]
1
- Voorbeeld: Herstart PostgreSQL databaseservicebash
servbayctl restart pgsql
1 - Voorbeeld: Herstart alle geïnstalleerde Redis-versies (indien meer dan één aanwezig)bash
servbayctl restart redis -all
1
kill
- Serviceproces geforceerd beëindigen
Beëindig het proces van de benoemde service geforceerd. Gebruik dit met voorzichtigheid, zeker bij databases, aangezien er data verloren kan gaan of schade aan data kan ontstaan. Dit commando is bedoeld voor situaties waarin de service niet op normale wijze stopt.
bash
servbayctl kill <service> [-all|version]
1
- Voorbeeld: Forceer het beëindigen van PHP 7.4 serviceprocesbash
servbayctl kill php 7.4
1 - Voorbeeld: Forceer alle Memcached processen te stoppenbash
servbayctl kill memcached -all
1
status
- Service-status opvragen
Bekijk of een bepaalde service draait (of niet).
bash
servbayctl status <service> [-all|version]
1
- Voorbeeld: Controleer de status van de Caddy servicebash
servbayctl status caddy
1 - Voorbeeld: Bekijk de status van alle geïnstalleerde MySQL-versiesbash
servbayctl status mysql -all
1
stop-all
- Alle ServBay-services stoppen
Stopt álle door ServBay beheerde, op dit moment draaiende backend-services. Dit is een overkoepelend commando dat geen servicenamen of versies als parameter accepteert.
bash
servbayctl stop-all
1
- Voorbeeld: Stop alle services die onder ServBay draaienbash
servbayctl stop-all
1
Ondersteunde services
Volgens de Usage-informatie van servbayctl
kun je de volgende types achtergrondservices rechtstreeks beheren:
php
: Beheer van verschillende PHP-FPM versies.mariadb
: Beheer van MariaDB database.mysql
: Beheer van MySQL database.postgresql
: Beheer van PostgreSQL database.redis
: Beheer van Redis cache/database.memcached
: Beheer van Memcached cache.caddy
: Beheer van de Caddy webserver.nginx
: Beheer van de Nginx webserver.apache
: Beheer van de Apache HTTP server.dnsmasq
: Beheer van de ingebouwde DNS-service van ServBay.mongodb
: Beheer van MongoDB database.rabbitmq
: Beheer van RabbitMQ message queue.cloudflared
: Beheer van Cloudflare Tunnel service (mits geïnstalleerd en geconfigureerd).frpc
: Beheer van Fatedier/frp client service (mits geïnstalleerd en geconfigureerd).mailpit
: Beheer van Mailpit mailcatcher.web
: Beheer van webservices (specifieke betekenis is afhankelijk van jouw gebruik, bijvoorbeeld actieve webservers of ServBay-gerelateerde webinterfaces).ollama
: Beheer van Ollama, lokaal groottaalmodellendienst.
Let op, servbayctl
kan nu direct verschillende kern-backendservices beheren, waaronder Nginx en Apache. Hoewel ServBay het mogelijk maakt om talloze andere pakketten te installeren (zoals Java, Python, Go, .NET, Ruby, Rust enz.), draaien deze pakketten doorgaans níet als backendservice beheerd door servbayctl
. Ze worden meestal direct gestart via de terminal of via hun eigen specifieke tooling. servbayctl
is primair gefocust op beheer van bovenstaande kern-backendservices.
Praktische gebruiksvoorbeelden
Hier wat scenario’s waarin servbayctl
vaak gebruikt wordt:
Snel schakelen tussen PHP-versies voor testdoeleinden:
bashservbayctl stop php -all servbayctl start php 8.2
1
2Database-service herstarten na configuratiewijzigingen:
bash# Stel je hebt my.cnf of my.ini aangepast servbayctl restart mysql
1
2Zorgen dat alle services gestopt zijn, bijvoorbeeld voor systeemuitschakeling of update van ServBay:
bashservbayctl stop-all
1Controleren of de webserver draait:
bashservbayctl status caddy
1Ontwikkelomgeving automatisch opstarten via een script:
bash#!/bin/bash echo "Alle ServBay services worden gestopt..." servbayctl stop-all echo "Benodigde services starten..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "ServBay services zijn gestart."
1
2
3
4
5
6
7
8
9
10
11
12
Let op & Best practices
- Voeg toe aan PATH: Het wordt sterk aangeraden om de map met
servbayctl
toe te voegen aan je PATH-variabele voor eenvoudiger gebruik. - Wees voorzichtig met
kill
: Het gebruik van hetkill
-commando kan tot niet-opgeslagen gegevensverlies of foutieve servicestatus leiden. Gebruik het alleen wanneer normalestop
ofrestart
niet werken. stop-all
is allesomvattend: Metstop-all
stop je alle backendservices die door ServBay beheerd worden. Wees zeker dat je dit wilt.- Versie-parameter: Gebruik bij het opgeven van een versie altijd een versie die daadwerkelijk geïnstalleerd en ondersteund is door ServBay. Je kunt geïnstalleerde versies raadplegen in de GUI van ServBay.
- Foutrapportage: Als een
servbayctl
-commando faalt, wordt het foutbericht in de terminal weergegeven. Los problemen op aan de hand van het bericht, of raadpleeg relevante logbestanden (meestal te vinden in de maplogs
in de ServBay-installatiemap). - GUI en CLI aanvullen elkaar aan:
servbayctl
is een aanvulling op de GUI. Voor geavanceerde configuratie of een overzicht is de GUI doorgaans praktischer.
Veelgestelde vragen (FAQ)
Vraag: Bij uitvoeren van servbayctl
krijg ik de melding command not found
. Wat nu?
Antwoord: Dit betekent meestal dat /Applications/ServBay/script
nog niet aan je PATH-variabele is toegevoegd. Raadpleeg het onderdeel "Voorwaarden" hierboven om dit alsnog te doen.
Vraag: Ik heb servbayctl start <service>
gebruikt, maar de service start niet. Hoe los ik dit op?
Antwoord:
- Controleer nogmaals de status:
servbayctl status <service>
. - Bekijk foutlogbestanden in de map
logs
van de ServBay-installatie voor meer informatie over waarom de service niet start. - Probeer dezelfde service via de ServBay-GUI te starten; wellicht verschijnen daar meer informatieve foutmeldingen.
- Controleer de configuratiebestanden van de betreffende service op fouten.
Vraag: Is de -all
parameter voor alle services bruikbaar?
Antwoord: -all
is vooral bedoeld voor diensten die in meerdere versies geïnstalleerd kunnen zijn, zoals PHP. Voor de meeste databases (MySQL, PostgreSQL) en webservers (Caddy) draait meestal maar één instantie, waardoor -all
hetzelfde werkt als geen versie opgeven. Voor diensten zoals Redis of Memcached (die via verschillende poorten in meerdere instanties aanwezig kunnen zijn), kan -all
juist álle instanties benaderen – de precieze werking hangt af van hoe ServBay dit achter de schermen regelt.
Samenvatting
servbayctl
is het krachtige opdrachtregelhulpmiddel van ServBay, dat ontwikkelaars maximale flexibiliteit en efficiëntie biedt bij het beheren van lokale ontwikkelomgevingsservices. Door beheersing van de verschillende commando’s – zoals start
, stop
, reload
, restart
, kill
, status
en stop-all
– en het effectief benutten van parameters als version
en -all
, kun je snel en doelgericht diensten als PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy en meer controleren. Zo kun je je ontwikkelworkflow verder automatiseren en optimaliseren en profiteer je van een soepelere ontwikkelervaring.