Narzędzie wiersza poleceń servbayctl
servbayctl
to potężne narzędzie linii poleceń dostarczone przez ServBay, umożliwiające deweloperom bezpośrednie zarządzanie usługami SerwBay z terminala. Za pomocą servbayctl
możesz wygodnie wykonywać takie operacje jak uruchamianie, zatrzymywanie, przeładowywanie, restartowanie, wymuszanie zakończenia procesu, sprawdzanie statusu oraz zatrzymanie wszystkich usług. Jest to szczególnie przydatne dla automatyzacji w skryptach, szybkiego przełączania usług lub dla tych, którzy preferują pracę w CLI.
W tym artykule opisujemy szczegółowo, jak korzystać z servbayctl
, wspierane komendy, parametry oraz usługi.
Przegląd
ServBay oferuje nie tylko intuicyjny interfejs graficzny (GUI) do zarządzania lokalnym środowiskiem webowym, ale także narzędzie CLI servbayctl
. Znajduje się ono w folderze script
w katalogu instalacyjnym ServBay i pozwala sterować stanem różnych pakietów oprogramowania instalowanych przez ServBay jako usługi działające w tle.
Korzyści z używania servbayctl
:
- Automatyzacja: Łatwo integruj zarządzanie usługami w skryptach workflow programistycznych.
- Wydajność: Szybko uruchamiaj lub zatrzymuj wybrane usługi bez otwierania GUI.
- Elastyczność: Idealne do pracy przez SSH lub w środowiskach bez interfejsu graficznego.
- Precyzyjna kontrola: Możesz wskazać dokładną usługę lub wersję.
Wymagania wstępne
Przed użyciem servbayctl
upewnij się, że:
ServBay został poprawnie zainstalowany.
Masz dostęp do terminala.
(Opcjonalnie, zalecane) Dodaj katalog
/Applications/ServBay/script
do zmiennej środowiskowej PATH. Pozwoli to uruchamiać komendęservbayctl
z dowolnego miejsca bez podawania pełnej ścieżki.Dla użytkowników Bash lub Zsh, edytuj plik
~/.bash_profile
,~/.bashrc
,~/.zshrc
lub~/.profile
i dodaj linię:bashexport PATH="/Applications/ServBay/script:$PATH"
1Po zapisaniu, uruchom
source ~/.bash_profile
(lub odpowiedni plik), aby zastosować zmiany, lub zrestartuj terminal.
Składnia użycia
Podstawowa składnia komendy servbayctl
jest następująca:
bash
servbayctl <polecenie> <usługa> [parametry]
1
<polecenie>
: Akcja, którą chcesz wykonać (np.start
,stop
,restart
).<usługa>
: Nazwa usługi do obsługi (np.php
,mysql
,caddy
).[parametry]
: Parametry opcjonalne, np. wersja usługi lub zakres (7.4
lub-all
).
Zgodnie z informacjami o użyciu servbayctl
od ServBay, obsługiwane komendy i struktura wyglądają tak:
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
Uwaga: polecenie stop-all
nie przyjmuje nazwy usługi ani parametrów – zatrzymuje wszystkie usługi zarządzane przez ServBay.
Szczegółowy opis dostępnych poleceń
Poniżej znajdziesz wyjaśnienia poszczególnych komend obsługiwanych przez servbayctl
oraz przykłady użycia.
start
– Uruchom usługę
Uruchamia wybraną usługę. Można wskazać wersję lub użyć -all
, aby uruchomić wszystkie zainstalowane wersje.
bash
servbayctl start <usługa> [-all|wersja]
1
- Przykład: Uruchom usługę PHP 8.1bash
servbayctl start php 8.1
1 - Przykład: Uruchom wszystkie zainstalowane wersje PHPbash
servbayctl start php -all
1 - Przykład: Uruchom domyślną konfigurację MySQLbash
servbayctl start mysql
1
stop
– Zatrzymaj usługę
Zatrzymuje wybraną usługę. Można wskazać wersję lub użyć -all
, aby zatrzymać wszystkie zainstalowane wersje.
bash
servbayctl stop <usługa> [-all|wersja]
1
- Przykład: Zatrzymaj PHP 7.4bash
servbayctl stop php 7.4
1 - Przykład: Zatrzymaj wszystkie zainstalowane wersje MariaDBbash
servbayctl stop mariadb -all
1 - Przykład: Zatrzymaj usługę Redisbash
servbayctl stop redis
1
reload
– Przeładuj konfigurację usługi
Przeładowuje konfigurację wybranej usługi. Stosowane, gdy zmieniasz pliki konfiguracyjne i chcesz zastosować zmiany bez pełnego restartu. Nie wszystkie usługi wspierają hot-reload.
bash
servbayctl reload <usługa> [-all|wersja]
1
- Przykład: Przeładuj konfigurację serwera Caddybash
servbayctl reload caddy
1 - Przykład: Przeładuj konfiguracje wszystkich zainstalowanych wersji PHP (jeśli obsługiwane)bash
servbayctl reload php -all
1
restart
– Restartuj usługę
Restartuje wybraną usługę – odpowiada zatrzymaniu i ponownemu uruchomieniu.
bash
servbayctl restart <usługa> [-all|wersja]
1
- Przykład: Restartuj bazę danych PostgreSQLbash
servbayctl restart pgsql
1 - Przykład: Restartuj wszystkie zainstalowane wersje Redis (jeśli masz ich kilka)bash
servbayctl restart redis -all
1
kill
– Wymuś zakończenie procesu usługi
Wymusza zakończenie procesu wybranej usługi. Używaj ostrożnie – może skutkować utratą lub uszkodzeniem danych (szczególnie w przypadku baz danych). Zalecana tylko, gdy standardowe zatrzymanie zawiedzie.
bash
servbayctl kill <usługa> [-all|wersja]
1
- Przykład: Wymuś zakończenie PHP 7.4bash
servbayctl kill php 7.4
1 - Przykład: Wymuś zakończenie wszystkich instancji Memcachedbash
servbayctl kill memcached -all
1
status
– Sprawdź stan usługi
Wyświetla bieżący status konkretnej usługi (czy jest uruchomiona).
bash
servbayctl status <usługa> [-all|wersja]
1
- Przykład: Sprawdź status usługi Caddybash
servbayctl status caddy
1 - Przykład: Sprawdź status wszystkich wersji MySQLbash
servbayctl status mysql -all
1
stop-all
– Zatrzymaj wszystkie usługi ServBay
Zatrzymuje wszystkie aktualnie działające w tle usługi zarządzane przez ServBay. To polecenie globalne, nie przyjmuje parametrów ani nazw usług.
bash
servbayctl stop-all
1
- Przykład: Zatrzymaj wszystkie usługi ServBaybash
servbayctl stop-all
1
Lista obsługiwanych usług
Zgodnie z Usage, servbayctl
może bezpośrednio zarządzać poniższymi typami usług w tle:
php
: Zarządzanie różnymi wersjami procesów PHP-FPM.mariadb
: Serwis bazy danych MariaDB.mysql
: Serwis bazy danych MySQL.postgresql
: Serwis bazy danych PostgreSQL.redis
: Serwis pamięci cache/bazy danych Redis.memcached
: Serwis cache Memcached.caddy
: Serwer WWW Caddy.nginx
: Serwer WWW Nginx.apache
: Serwer HTTP Apache.dnsmasq
: Wewnętrzna usługa DNS ServBay.mongodb
: Serwis bazy danych MongoDB.rabbitmq
: Usługa kolejkowania RabbitMQ.cloudflared
: Usługa tunelu Cloudflare (jeśli zainstalowana i skonfigurowana).frpc
: Klient Fatedier/frp (jeśli zainstalowany i skonfigurowany).mailpit
: Usługa Mailpit do przechwytywania emaili.web
: Usługa webowa (może dotyczyć aktywnych serwerów WWW lub powiązanych usług ServBay – zależnie od ustawień).ollama
: Lokalna usługa modeli językowych Ollama.
Uwaga: Obecnie servbayctl
pozwala bezpośrednio zarządzać także Nginx, Apache i wieloma innymi podstawowymi usługami. Choć ServBay umożliwia instalację wielu innych pakietów (Java, Python, Go, .NET, Ruby, Rust itp.), te zwykle nie są obsługiwane przez servbayctl
jako niezależne usługi w tle – korzystaj z nich przez terminal lub z dedykowanego menedżera. servbayctl
skupia się na rdzeniowych usługach działających jako demony w tle.
Przykłady typowych zastosowań
Oto kilka codziennych scenariuszy z użyciem servbayctl
:
Szybka zmiana wersji PHP do testów:
bashservbayctl stop php -all servbayctl start php 8.2
1
2Restart bazy danych po zmianie konfiguracji:
bash# Załóżmy, że zaktualizowałeś my.cnf lub my.ini servbayctl restart mysql
1
2Upewnij się, że wszystkie usługi są zatrzymane, np. przed wyłączeniem systemu lub aktualizacją ServBay:
bashservbayctl stop-all
1Sprawdź, czy serwer WWW jest uruchomiony:
bashservbayctl status caddy
1Automatyczne uruchamianie środowiska developerskiego przez skrypt:
bash#!/bin/bash echo "Zatrzymywanie wszystkich usług ServBay..." servbayctl stop-all echo "Uruchamianie wymaganych usług..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "Usługi ServBay uruchomione."
1
2
3
4
5
6
7
8
9
10
11
12
Wskazówki i dobre praktyki
- Dodaj do PATH: Zdecydowanie zalecamy dodanie katalogu
servbayctl
do PATH, aby upraszczać używanie poleceń. - Ostrożnie z
kill
: Komendakill
wymusza zakończenie procesu – może prowadzić do utraty nieskonczonych danych lub niestabilności. Używaj, gdy standardowe zatrzymanie nie działa; preferujstop
lubrestart
. stop-all
to operacja globalna: Komenda ta wyłączy wszystkie usługi w tle zarządzane przez ServBay. Upewnij się, że tego właśnie chcesz.- Parametr wersji: Jeśli podajesz parametr wersji, upewnij się, że jest on zgodny z faktycznie zainstalowanym i obsługiwanym przez ServBay pakietem. Wersje możesz sprawdzić w aplikacji GUI ServBay.
- Obsługa błędów: W przypadku niepowodzenia,
servbayctl
wyświetli komunikat o błędzie. Sprawdź logi w katalogulogs
w instalacji ServBay, aby uzyskać szczegółowe informacje. - Łącz GUI i CLI:
servbayctl
to narzędzie uzupełniające GUI. W przypadku złożonych konfiguracji lub ogólnego podglądu – GUI zwykle będzie wygodniejsze.
FAQ – Najczęściej zadawane pytania
Q: Komenda servbayctl
zgłasza błąd command not found
. Co zrobić?
A: Najpewniej katalog /Applications/ServBay/script
nie został dodany do zmiennej PATH. Dodaj go zgodnie z instrukcją z rozdziału „Wymagania wstępne”.
Q: Uruchamiam servbayctl start <usługa>
, ale usługa się nie uruchamia. Co zrobić?
A:
- Ponownie sprawdź status komendą
servbayctl status <usługa>
. - Zajrzyj do folderu
logs
w katalogu głównym ServBay i znajdź logi błędów dla danej usługi – zazwyczaj szczegóły awarii znajdują się tam. - Spróbuj uruchomić tę samą usługę przez GUI – bywa, że GUI pokaże bardziej przejrzyste komunikaty błędów.
- Sprawdź, czy plik konfiguracyjny usługi jest poprawny.
Q: Czy parametr -all
działa dla wszystkich usług?
A: -all
jest użyteczny przede wszystkim przy usługach pozwalających na instalację wielu wersji, np. PHP. W przypadku większości baz danych (MySQL, PostgreSQL, itd.) i serwerów www (Caddy), zazwyczaj działa tylko pojedyncza instancja – wtedy podanie -all
nie robi praktycznej różnicy (ale można użyć dla jawności). Przy usługach typu Redis lub Memcached, gdzie możliwy jest running wielu instancji na różnych portach, -all
prawdopodobnie steruje wszystkimi (dokładne zachowanie zależy od implementacji ServBay).
Podsumowanie
servbayctl
to potężny interfejs CLI dla deweloperów korzystających z ServBay, który znacznie zwiększa elastyczność i wydajność zarządzania środowiskiem developerskim. Opanowując komendy takie jak start
, stop
, reload
, restart
, kill
, status
, stop-all
oraz wykorzystując parametry version
i -all
, możesz swobodnie kontrolować w terminalu usługi wspierane przez ServBay – od PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy i innych – co pozwala lepiej automatyzować workflow i usprawnić codzienną pracę programisty.