Ferramenta de Linha de Comando servbayctl
O servbayctl
é uma poderosa ferramenta de linha de comando fornecida pelo ServBay, projetada para oferecer aos desenvolvedores a capacidade de gerenciar serviços em segundo plano do ServBay diretamente pelo terminal. Com o servbayctl
, você pode facilmente iniciar, parar, recarregar, reiniciar, matar, checar o status ou interromper todos os serviços — ideal para automação de scripts, alternância rápida de estados de serviço ou para quem prefere a interface de linha de comando.
Este guia detalha como usar o servbayctl
, incluindo os comandos suportados, parâmetros e serviços compatíveis.
Visão Geral
Além de uma interface gráfica (GUI) intuitiva para gerenciar seu ambiente local de desenvolvimento web, o ServBay traz o servbayctl
, uma ferramenta de interface de linha de comando (CLI). Localizado na pasta script
dentro do diretório de instalação do ServBay, o servbayctl
permite que você controle o status dos diversos pacotes do ServBay executados como serviços em segundo plano por meio de comandos simples.
Vantagens ao usar o servbayctl
:
- Automação: Integre facilmente o gerenciamento de serviços em seus scripts de workflow de desenvolvimento.
- Eficiência: Inicie ou pare serviços específicos rapidamente, sem precisar abrir a interface gráfica.
- Flexibilidade: Ideal para conexões SSH remotas ou ambientes sem interface gráfica (headless).
- Controle preciso: Permite especificar exatamente qual serviço ou versão gerenciar.
Pré-requisitos
Antes de utilizar o servbayctl
, certifique-se de que:
O ServBay está instalado corretamente no seu sistema.
Você tem acesso ao terminal.
(Opcional, recomendado) Para facilitar o uso, adicione o diretório
/Applications/ServBay/script
à variável de ambiente PATH do sistema. Assim, você poderá executar o comandoservbayctl
de qualquer lugar, sem necessidade de digitar o caminho completo.Usuários do Bash ou Zsh podem editar seus arquivos
~/.bash_profile
,~/.bashrc
,~/.zshrc
ou~/.profile
e acrescentar a seguinte linha:bashexport PATH="/Applications/ServBay/script:$PATH"
1Após salvar, execute
source ~/.bash_profile
(ou o arquivo que você editou) para aplicar a mudança, ou simplesmente reinicie o terminal.
Sintaxe de Uso
A sintaxe básica do comando servbayctl
é:
bash
servbayctl <comando> <serviço> [parâmetros]
1
<comando>
: A ação desejada (por exemplo,start
,stop
,restart
).<serviço>
: O nome do serviço a ser gerenciado (por exemplo,php
,mysql
,caddy
).[parâmetros]
: Parâmetros opcionais para especificar a versão ou escopo (por exemplo,7.4
ou-all
).
Segundo as informações de uso fornecidas pelo ServBay, os comandos e a estrutura básica são:
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
Observação: O comando stop-all
não aceita nome de serviço nem parâmetros — ele irá parar todos os serviços gerenciados pelo ServBay.
Comandos Suportados em Detalhe
Veja os detalhes de cada comando suportado pelo servbayctl
, com exemplos de uso:
start
- Iniciar Serviço
Inicia o serviço especificado. Você pode indicar uma versão específica ou usar o parâmetro -all
para iniciar todas as versões instaladas.
bash
servbayctl start <serviço> [-all|versão]
1
- Exemplo: Iniciar serviço PHP 8.1bash
servbayctl start php 8.1
1 - Exemplo: Iniciar todas as versões instaladas do PHPbash
servbayctl start php -all
1 - Exemplo: Iniciar o serviço MySQL com configuração padrãobash
servbayctl start mysql
1
stop
- Parar Serviço
Interrompe o serviço especificado. Você pode indicar uma versão específica ou usar -all
para parar todas as versões instaladas.
bash
servbayctl stop <serviço> [-all|versão]
1
- Exemplo: Parar o serviço PHP 7.4bash
servbayctl stop php 7.4
1 - Exemplo: Parar todas as versões instaladas do MariaDBbash
servbayctl stop mariadb -all
1 - Exemplo: Parar o serviço Redisbash
servbayctl stop redis
1
reload
- Recarregar Configuração do Serviço
Recarrega a configuração do serviço especificado. Isso é útil para aplicar alterações feitas no arquivo de configuração sem reiniciar totalmente o serviço. Nem todos os serviços oferecem suporte a recarregamento dinâmico.
bash
servbayctl reload <serviço> [-all|versão]
1
- Exemplo: Recarregar configuração do servidor web Caddybash
servbayctl reload caddy
1 - Exemplo: Recarregar configuração de todas as versões do PHP (se disponível)bash
servbayctl reload php -all
1
restart
- Reiniciar Serviço
Reinicia o serviço especificado. Equivale a parar e reiniciar o serviço.
bash
servbayctl restart <serviço> [-all|versão]
1
- Exemplo: Reiniciar o serviço de banco de dados PostgreSQLbash
servbayctl restart pgsql
1 - Exemplo: Reiniciar todas as versões instaladas do Redis (caso haja várias versões)bash
servbayctl restart redis -all
1
kill
- Forçar Encerramento do Serviço
Força o encerramento do processo do serviço especificado, sendo um método mais agressivo de parada. Use com cautela, pois pode ocasionar perda de dados ou corrupção (especialmente em bancos de dados). Recomenda-se somente se o serviço não puder ser encerrado normalmente.
bash
servbayctl kill <serviço> [-all|versão]
1
- Exemplo: Forçar a finalização do serviço PHP 7.4bash
servbayctl kill php 7.4
1 - Exemplo: Forçar encerramento de todos os processos Memcachedbash
servbayctl kill memcached -all
1
status
- Verificar Status do Serviço
Exibe o status de execução do serviço especificado (se está em funcionamento ou não).
bash
servbayctl status <serviço> [-all|versão]
1
- Exemplo: Verificar status do serviço Caddybash
servbayctl status caddy
1 - Exemplo: Verificar status de todas as versões do MySQL instaladasbash
servbayctl status mysql -all
1
stop-all
- Parar Todos os Serviços do ServBay
Encerra todos os serviços de backend gerenciados e em funcionamento pelo ServBay. Um comando global, não aceita nome ou versão de serviço.
bash
servbayctl stop-all
1
- Exemplo: Parar todos os serviços de backend do ServBaybash
servbayctl stop-all
1
Lista de Serviços Compatíveis
Segundo a documentação de uso do servbayctl
, é possível gerenciar diretamente os seguintes serviços de backend:
php
: Gerenciamento de diferentes versões de PHP-FPM.mariadb
: Gerenciamento do serviço de banco de dados MariaDB.mysql
: Gerenciamento do serviço de banco de dados MySQL.postgresql
: Gerenciamento do serviço de banco de dados PostgreSQL.redis
: Gerenciamento do serviço de cache/banco de dados Redis.memcached
: Gerenciamento do serviço de cache Memcached.caddy
: Gerenciamento do servidor web Caddy.nginx
: Gerenciamento do servidor web Nginx.apache
: Gerenciamento do servidor HTTP Apache.dnsmasq
: Gerenciamento do serviço DNS interno do ServBay.mongodb
: Gerenciamento do serviço de banco de dados MongoDB.rabbitmq
: Gerenciamento do serviço de mensageria RabbitMQ.cloudflared
: Gerenciamento do serviço Cloudflare Tunnel (caso instalado/configurado).frpc
: Gerenciamento do serviço cliente Fatedier/frp (caso instalado/configurado).mailpit
: Gerenciamento do capturador de e-mails Mailpit.web
: Gerenciamento de serviços web (caso precise ser determinado pelo uso real, como servidores web ativos ou interfaces web do ServBay).ollama
: Gerenciamento do serviço de linguagem natural local Ollama.
Atenção: o servbayctl
agora gerencia diretamente múltiplos serviços de backend essenciais, como Nginx e Apache. Embora o ServBay permita instalar e usar outros softwares (Java, Python, Go, .NET, Ruby, Rust, etc.), estes geralmente não rodam como serviços de backend controlados pelo servbayctl
, mas sim por chamada direta via terminal ou ferramentas específicas. O foco do servbayctl
é gerenciar os serviços de backend principais listados acima.
Exemplos de Casos de Uso
Confira alguns cenários comuns ao utilizar o servbayctl
:
Alternância rápida de versões PHP para teste:
bashservbayctl stop php -all servbayctl start php 8.2
1
2Reiniciar serviço de banco de dados após alteração de configuração:
bash# Supondo que você tenha modificado o my.cnf ou my.ini servbayctl restart mysql
1
2Garantir que todos os serviços estão parados (ex: antes de desligar o sistema ou atualizar o ServBay):
bashservbayctl stop-all
1Checar se o servidor web está rodando:
bashservbayctl status caddy
1Automatizar inicialização do ambiente de desenvolvimento via script:
bash#!/bin/bash echo "Parando todos os serviços do ServBay..." servbayctl stop-all echo "Iniciando serviços necessários..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "Serviços do ServBay iniciados."
1
2
3
4
5
6
7
8
9
10
11
12
Dicas e Boas Práticas
- Adicione ao PATH: Recomenda-se fortemente adicionar o diretório do
servbayctl
ao PATH do sistema para simplificar a execução dos comandos. - Cuidado ao usar
kill
: O comandokill
força a finalização do processo, podendo causar perda de dados ou deixar o serviço em estado inconsistente. Utilize apenas se o serviço não responder aos comandosstop
ourestart
. stop-all
é uma operação global: Esse comando encerra todos os serviços de backend gerenciados pelo ServBay. Tenha certeza de que é essa a sua intenção.- Parâmetros de versão: Ao usar o parâmetro
version
, certifique-se de que tal versão já está instalada e suportada pelo ServBay. Você pode checar as versões disponíveis na interface gráfica do ServBay. - Tratamento de erros: Se algum comando do
servbayctl
falhar, mensagens de erro serão exibidas no terminal. Use essas dicas para depuração ou consulte os arquivos de log do ServBay (em geral, na pastalogs
do diretório de instalação) para informações detalhadas. - GUI e CLI em conjunto: O
servbayctl
é um complemento à interface gráfica. Para configurações complexas ou visão geral do ambiente, a GUI normalmente é a melhor ferramenta.
Perguntas Frequentes (FAQ)
P: O comando servbayctl
retorna “command not found”, o que fazer?
R: Isso normalmente indica que o diretório /Applications/ServBay/script
não foi adicionado ao PATH do sistema. Veja a seção "Pré-requisitos" deste guia e adicione o diretório ao PATH.
P: Executei servbayctl start <serviço>
, mas o serviço não iniciou. Como depurar?
R:
- Use
servbayctl status <serviço>
para checar novamente o status. - Consulte a pasta
logs
no diretório de instalação do ServBay; os arquivos de erro de cada serviço normalmente indicam a causa da falha no início. - Tente iniciar o serviço pela GUI do ServBay, que pode apresentar mensagens de erro mais amigáveis.
- Verifique se a configuração do serviço está correta.
P: O parâmetro -all
serve para todos os serviços?
R: O parâmetro -all
é útil principalmente para serviços que suportam múltiplas versões instaladas, como PHP. Bancos de dados (MySQL, PostgreSQL, etc.) e servidores web (Caddy) costumam rodar apenas uma instância; nesses casos, usar -all
ou não indicar a versão produz o mesmo efeito. Em serviços como Redis ou Memcached, que podem rodar múltiplos instâncias por porta, -all
pode controlar todos esses processos (dependendo da implementação interna do ServBay).
Conclusão
O servbayctl
é uma interface de linha de comando extremamente poderosa que permite gerenciar o ambiente de desenvolvimento local de forma flexível e eficiente. Dominando os comandos start
, stop
, reload
, restart
, kill
, status
e stop-all
— juntamente com os parâmetros de version
e -all
—, você terá controle total sobre todos os serviços suportados pelo ServBay via terminal, incluindo PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy e muito mais. Aproveite esses recursos para automatizar seus fluxos de trabalho e potencializar sua experiência de desenvolvimento.