コマンドラインツール servbayctl
servbayctl
は、ServBayが提供する強力なコマンドラインツールで、開発者がターミナル上で直接ServBayのバックエンドサービス管理を実現するために設計されています。servbayctl
を使えば、サービスの起動・停止・リロード・再起動・強制終了・ステータス確認・全サービスの停止といった操作を簡単に実行でき、スクリプトによる自動化やサービス状態の素早い切り替え、もしくはCLIインターフェースを好む開発者にとって非常に便利です。
本ドキュメントでは、servbayctl
の使い方、対応コマンド、利用可能なパラメータおよびサポートサービスについて詳しく説明します。
概要
ServBayは、直感的なグラフィカルユーザーインターフェース(GUI)でローカルWeb開発環境を管理できるだけでなく、servbayctl
というコマンドラインインターフェース(CLI)ツールも用意しています。servbayctl
はServBayインストールディレクトリのscript
フォルダ内に格納されており、簡単なコマンドを打つだけで、インストール済みソフトウェアパッケージのサービス状態をコントロールできます。
servbayctl
を利用する主なメリット:
- 自動化: サービス管理操作を開発ワークフローやスクリプトに簡単組み込み。
- 効率化: GUIを開くことなく、特定サービスを素早く起動・停止可能。
- 柔軟性: リモートSSHやヘッドレス環境でも活用可能。
- 詳細コントロール: サービスやバージョンを指定してピンポイント操作が可能。
前提条件
servbayctl
の利用にあたり、以下をご確認ください:
ServBayが正常にインストールされていること。
ターミナルへアクセスできること。
(推奨)利便性向上のため、
/Applications/ServBay/script
ディレクトリをシステムのPATH環境変数に追加してください。これにより、どこからでもservbayctl
と入力して実行できます。BashやZshユーザーの場合、
~/.bash_profile
、~/.bashrc
、~/.zshrc
、~/.profile
などに、以下の行を追加します:bashexport PATH="/Applications/ServBay/script:$PATH"
1編集後は、
source ~/.bash_profile
(または変更したファイル)を実行、もしくはターミナルを再起動してください。
利用構文
servbayctl
の基本構文は以下の通りです:
servbayctl <command> <service> [parameters]
<command>
:実行したい操作(例:start
,stop
,restart
など)<service>
:対象とするサービス名(例:php
,mysql
,caddy
など)[parameters]
:任意パラメータで、サービスバージョンや範囲(例:7.4
や-all
)を指定
ServBayが提供するservbayctl
のUsage情報につき、対応コマンドと基本構文は下記です:
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]
※ stop-all
コマンドにはサービス名やパラメータは不要で、ServBay管理下の全サービスを停止します。
サポートコマンド詳細解説
servbayctl
でサポートされている各コマンドの解説と例を紹介します。
start
- サービスの起動
指定したサービスを起動します。バージョンを指定するか、-all
パラメータで全インストール済みバージョンを一括起動可能です。
servbayctl start <service> [-all|version]
- 例:PHP 8.1サービスの起動bash
servbayctl start php 8.1
1 - 例:インストール済み全PHPバージョンの起動bash
servbayctl start php -all
1 - 例:デフォルト設定のMySQLサービス起動bash
servbayctl start mysql
1
stop
- サービスの停止
指定サービスを停止します。バージョン指定や全バージョン一括停止(-all
)にも対応。
servbayctl stop <service> [-all|version]
- 例:PHP 7.4サービスの停止bash
servbayctl stop php 7.4
1 - 例:MariaDB全バージョンの停止bash
servbayctl stop mariadb -all
1 - 例:Redisサービスの停止bash
servbayctl stop redis
1
reload
- サービス設定のリロード
指定サービスの設定をリロードします。設定ファイル修正後、サービスを再起動せずに反映できる場合に有効です。一部サービスのみ対応。
servbayctl reload <service> [-all|version]
- 例:Caddy Webサーバーの設定リロードbash
servbayctl reload caddy
1 - 例:全PHPバージョンの設定リロード(対応していれば)bash
servbayctl reload php -all
1
restart
- サービスの再起動
サービスを停止した後、再度起動する操作です。
servbayctl restart <service> [-all|version]
- 例:PostgreSQLデータベースの再起動bash
servbayctl restart pgsql
1 - 例:全Redisバージョンの再起動(複数バージョン存在時)bash
servbayctl restart redis -all
1
kill
- サービスプロセスの強制終了
指定サービスのプロセスを強制的に終了します。これは緊急停止に用い、データ損失や破損のリスクがあるため注意が必要です(特にデータベースサービス)。
servbayctl kill <service> [-all|version]
- 例:PHP 7.4サービスプロセスを強制終了bash
servbayctl kill php 7.4
1 - 例:全Memcachedサービスプロセスを強制終了bash
servbayctl kill memcached -all
1
status
- サービス状態の確認
指定サービスの現在状態(稼働中か否か)を表示します。
servbayctl status <service> [-all|version]
- 例:Caddyサービスの状態確認bash
servbayctl status caddy
1 - 例:全MySQLバージョンの状態確認bash
servbayctl status mysql -all
1
stop-all
- ServBay全サービスの停止
ServBay管理下で稼働中の全サービスを一括停止します。サービス名・バージョン指定不可のグローバルコマンドです。
servbayctl stop-all
- 例:全ServBayバックグラウンドサービスの停止bash
servbayctl stop-all
1
サポートサービス一覧
servbayctl
のUsage情報をもとに、以下のバックエンドサービス種別を直接制御できます:
php
: 各バージョンのPHP-FPMプロセス管理mariadb
: MariaDBデータベースサービスmysql
: MySQLデータベースサービスpostgresql
: PostgreSQLデータベースサービスredis
: Redisキャッシュ/データベースサービスmemcached
: Memcachedキャッシュサービスcaddy
: Caddy Webサーバーサービスnginx
: Nginx Webサーバーサービスapache
: Apache HTTPサーバーサービスdnsmasq
: ServBay内蔵DNSサービスmongodb
: MongoDBデータベースサービスrabbitmq
: RabbitMQメッセージキューサービスcloudflared
: Cloudflare Tunnelサービス(インストール・設定済みの場合)frpc
: Fatedier/frpクライアントサービス(インストール・設定済みの場合)mailpit
: Mailpitメールキャプチャツールサービスweb
: Web系サービス(動作詳細は用途・構成により異なります。例:WebサーバーやServBay関連Web API等)ollama
: OllamaローカルLLMサービス
なお、servbayctl
は現在、NginxやApacheを含む多くの主要バックエンドサービスを直接管理可能です。ServBayでは他にもJava、Python、Go、.NET、Ruby、Rust等のパッケージを多数提供していますが、これらはservbayctl
の制御下でデーモン(バックグラウンドサービス)として稼働するものではなく、ターミナル直実行や固有の管理方法が必要です。servbayctl
は主に上記リストにあるコアなバックグラウンドサービスの管理に特化しています。
主なユースケース例
servbayctl
活用の具体的シーン例を紹介します:
PHPバージョンを素早く切り替えてテスト
bashservbayctl stop php -all servbayctl start php 8.2
1
2設定変更時、データベースサービスの再起動
bash# my.cnf または my.ini を変更した場合 servbayctl restart mysql
1
2システムシャットダウンやServBayアップデート前に全サービスを完全停止
bashservbayctl stop-all
1Webサーバーの稼働確認
bashservbayctl status caddy
1スクリプトを使った開発環境自動起動
bash#!/bin/bash echo "全ServBayサービスを停止中..." servbayctl stop-all echo "必要なサービスを起動中..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "ServBayサービスが起動しました。"
1
2
3
4
5
6
7
8
9
10
11
12
注意事項 & ベストプラクティス
- PATH追加推奨:
servbayctl
のあるディレクトリをPATHに追加し、コマンド入力を簡素化しましょう。 kill
コマンドは要注意: この操作は強制的なプロセス終了のため、未保存データ消失やサービス異常の危険があります。通常はstop
かrestart
の利用を優先してください。stop-all
は全体操作: 全サービスを一括停止するため、実行前に必ず必要性を確認しましょう。- バージョン指定:
version
パラメータ指定時、そのバージョンがServBayでインストール・サポート済みであることを確認してください。バージョンはServBay GUIでも確認可能です。 - エラー時の対処:
servbayctl
実行が失敗した場合、エラー内容が端末に表示されます。内容に従い確認や、ServBayインストールフォルダ内のlogs
の該当ログで詳細を探してください。 - GUI&CLI併用:
servbayctl
はGUIの補完ツールです。複雑な設定や全体把握はGUIの利用が便利です。
よくある質問(FAQ)
Q: servbayctl
実行時に「command not found」と出る場合は?
A: これは大抵、/Applications/ServBay/script
ディレクトリがPATH環境変数に追加されていないためです。本書「前提条件」記載の手順でディレクトリをPATHに追加してください。
Q: servbayctl start <service>
でサービスが起動しない場合、どう対処すればよいですか?
A:
- まず
servbayctl status <service>
で状態を再確認。 - ServBayインストールディレクトリ直下の
logs
フォルダで該当サービスのエラーログを確認。起動失敗の原因特定に有効です。 - サービスをServBay GUIから起動してみる(GUIの方が親切なエラーメッセージを表示することがあります)。
- サービスの設定ファイルミスがないか見直してください。
Q: すべてのサービスで-all
パラメータは使えますか?
A: -all
はバージョン管理型サービス(例:PHP)で主に活用されます。MySQLやPostgreSQLなど多くのDB系やCaddyなどWebサーバーは通常1インスタンスのみ動作するため、-all
指定とバージョン未指定はほぼ同等です。RedisやMemcachedのように複数インスタンスを異なるポートで起動できるサービスでは、-all
でこれら全体を操作できる場合があります(ServBay内部実装次第です)。
まとめ
servbayctl
は、ServBayを使う開発者にとって、ローカル開発環境サービスの効率的管理を実現する強力なCLIインターフェースです。start
、stop
、reload
、restart
、kill
、status
、stop-all
といった各種コマンド、ならびにversion
や-all
パラメータ活用により、PHP、MySQL、MariaDB、PostgreSQL、MongoDB、Redis、Memcached、Caddyなどのサービスをターミナルから自在にコントロールし、スムーズな自動化ワークフロー構築や開発体験の向上が実現できます。