Alat Baris Perintah servbayctl
servbayctl
ialah alat baris perintah yang berkuasa yang disediakan oleh ServBay untuk memudahkan para pembangun mengurus perkhidmatan latar belakang ServBay secara terus melalui terminal. Dengan servbayctl
, anda boleh dengan mudah melaksanakan operasi seperti memulakan, menghentikan, menyegarkan semula, memulakan semula, membunuh, menyemak status, dan menghentikan semua perkhidmatan. Ini amat berguna untuk automasi skrip, pertukaran pantas status perkhidmatan, atau untuk pembangun yang gemar antara muka baris perintah (CLI).
Dokumen ini menerangkan secara terperinci tentang cara menggunakan servbayctl
, arahan yang disokong, parameter serta perkhidmatan yang boleh dikendalikannya.
Pengenalan
ServBay bukan sahaja menawarkan antara muka pengguna grafik (GUI) yang intuitif untuk mengurus persekitaran pembangunan web tempatan anda, malah turut menyertakan alat baris perintah (CLI) iaitu servbayctl
. servbayctl
terletak di folder script
dalam direktori pemasangan ServBay dan membolehkan anda mengawal pelbagai pakej perisian yang dipasang melalui arahan ringkas untuk menjalankan atau mematikan status perkhidmatan latar belakang.
Kelebihan menggunakan servbayctl
termasuk:
- Automasi: Mudah gabungkan pengurusan perkhidmatan ke dalam skrip aliran kerja pembangunan anda.
- Kecekapan: Mulakan atau hentikan servis tertentu dengan pantas tanpa perlu membuka GUI.
- Fleksibiliti: Sesuai untuk sambungan SSH jauh atau persekitaran 'headless'.
- Kawalan Tepat: Spesifikkan servis atau versi dengan lebih terperinci.
Prasyarat
Sebelum menggunakan servbayctl
, pastikan:
ServBay telah berjaya dipasang.
Anda mempunyai akses ke terminal.
(Pilihan, sangat disarankan) Demi kemudahan, tambahkan direktori
/Applications/ServBay/script
ke dalam pembolehubah persekitaran PATH sistem anda. Ini membolehkan anda menjalankan arahanservbayctl
dari mana-mana lokasi tanpa perlu memasukkan laluan penuh.Untuk pengguna Bash atau Zsh, edit fail
~/.bash_profile
,~/.bashrc
,~/.zshrc
, atau~/.profile
anda dan tambahkan baris berikut:bashexport PATH="/Applications/ServBay/script:$PATH"
1Setelah disimpan, jalankan
source ~/.bash_profile
(atau fail yang telah diedit) untuk memperbaharui perubahan, atau mulakan semula terminal anda.
Sintaks Penggunaan
Sintaks asas bagi arahan servbayctl
adalah seperti berikut:
bash
servbayctl <command> <service> [parameters]
1
<command>
: Operasi yang anda ingin lakukan (contoh:start
,stop
,restart
).<service>
: Nama perkhidmatan yang anda ingin uruskan (contoh:php
,mysql
,caddy
).[parameters]
: Parameter pilihan untuk spesifik versi atau skop perkhidmatan (contoh:7.4
atau-all
).
Berdasarkan maklumat penggunaan dari servbayctl
, berikut adalah struktur sintaks dan arahan yang disokong:
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
Catatan: Arahan stop-all
tidak memerlukan nama perkhidmatan atau parameter tambahan; ia akan menghentikan semua perkhidmatan yang diurus oleh ServBay sekali gus.
Penerangan Arahan Yang Disokong
Berikut adalah penerangan terperinci bagi setiap arahan dalam servbayctl
termasuk contoh penggunaannya:
start
- Mulakan Perkhidmatan
Mulakan perkhidmatan yang dinyatakan. Anda boleh pilih versi tertentu atau gunakan parameter -all
untuk memulakan semua versi yang telah dipasang.
bash
servbayctl start <service> [-all|version]
1
- Contoh: Mulakan servis PHP versi 8.1bash
servbayctl start php 8.1
1 - Contoh: Mulakan semua versi PHP yang telah dipasangbash
servbayctl start php -all
1 - Contoh: Mulakan servis MySQL dengan tetapan lalaibash
servbayctl start mysql
1
stop
- Hentikan Perkhidmatan
Hentikan servis yang dinyatakan. Boleh spesifik kepada versi atau gunakan -all
.
bash
servbayctl stop <service> [-all|version]
1
- Contoh: Hentikan servis PHP versi 7.4bash
servbayctl stop php 7.4
1 - Contoh: Hentikan semua versi MariaDB yang dipasangbash
servbayctl stop mariadb -all
1 - Contoh: Hentikan servis Redisbash
servbayctl stop redis
1
reload
- Muat Semula Konfigurasi Perkhidmatan
Menyegarkan semula konfigurasi perkhidmatan tertentu selepas perubahan dibuat pada fail konfigurasinya. Tidak semua servis menyokong ciri muat semula ini.
bash
servbayctl reload <service> [-all|version]
1
- Contoh: Muat semula konfigurasi Caddy Web Serverbash
servbayctl reload caddy
1 - Contoh: Muat semula konfigurasi untuk semua versi PHP (jika disokong)bash
servbayctl reload php -all
1
restart
- Mulakan Semula Perkhidmatan
Mulakan semula servis yang dinyatakan. Tindakan ini secara asasnya ialah hentikan dan kemudian mulakan semula perkhidmatan.
bash
servbayctl restart <service> [-all|version]
1
- Contoh: Mulakan semula servis pangkalan data PostgreSQLbash
servbayctl restart pgsql
1 - Contoh: Mulakan semula semua versi Redis yang dipasang (jika lebih dari satu)bash
servbayctl restart redis -all
1
kill
- Paksa Bunuh Proses Perkhidmatan
Paksa penghentian proses perkhidmatan dengan serta-merta. Gunakan dengan berhati-hati kerana ia boleh menyebabkan kehilangan atau kerosakan data, terutamanya untuk servis pangkalan data. Biasanya hanya digunakan apabila perkhidmatan tidak boleh dihentikan secara normal.
bash
servbayctl kill <service> [-all|version]
1
- Contoh: Bunuh proses PHP versi 7.4 secara paksabash
servbayctl kill php 7.4
1 - Contoh: Bunuh semua proses Memcached secara paksabash
servbayctl kill memcached -all
1
status
- Semak Status Perkhidmatan
Semak status semasa servis yang dipilih (aktif atau tidak).
bash
servbayctl status <service> [-all|version]
1
- Contoh: Semak status servis Caddybash
servbayctl status caddy
1 - Contoh: Semak status untuk semua versi MySQL yang dipasangbash
servbayctl status mysql -all
1
stop-all
- Hentikan Semua Perkhidmatan ServBay
Menghentikan kesemua perkhidmatan latar belakang yang sedang dijalankan oleh ServBay. Ini adalah arahan global tanpa sebarang parameter tambahan.
bash
servbayctl stop-all
1
- Contoh: Hentikan semua perkhidmatan latar belakang ServBaybash
servbayctl stop-all
1
Senarai Perkhidmatan Yang Disokong
Berdasarkan maklumat Usage servbayctl
, alat ini boleh mengendalikan servis-servis berikut secara langsung:
php
: Urus pelbagai versi proses PHP-FPM.mariadb
: Urus servis pangkalan data MariaDB.mysql
: Urus servis pangkalan data MySQL.postgresql
: Urus servis pangkalan data PostgreSQL.redis
: Urus servis cache/pangkalan data Redis.memcached
: Urus servis cache Memcached.caddy
: Urus servis pelayan web Caddy.nginx
: Urus servis pelayan web Nginx.apache
: Urus servis pelayan HTTP Apache.dnsmasq
: Urus servis DNS terbina dalam ServBay.mongodb
: Urus servis pangkalan data MongoDB.rabbitmq
: Urus servis barisan mesej RabbitMQ.cloudflared
: Urus servis Cloudflare Tunnel (jika dipasang dan dikonfigurasikan).frpc
: Urus servis klien Fatedier/frp (jika dipasang dan dikonfigurasikan).mailpit
: Urus servis alat penangkapan emel Mailpit.web
: Urus servis web (bergantung kepada penggunaan sebenar, boleh jadi pelayan web aktif atau antara muka web berkaitan ServBay).ollama
: Urus servis model bahasa besar tempatan menggunakan Ollama.
Sila maklum bahawa servbayctl
kini mampu mengurus pelbagai servis penting seperti Nginx dan Apache secara terus. Walaupun ServBay menyokong pemasangan dan penggunaan banyak lagi pakej perisian lain (seperti Java, Python, Go, .NET, Ruby, Rust dan sebagainya), kebanyakan perisian ini bukan perkhidmatan latar belakang yang boleh dikawal terus oleh servbayctl
dan biasanya dijalankan terus melalui terminal, atau menggunakan kaedah pengurusan khusus masing-masing. Fokus utama servbayctl
adalah pada servis latar belakang yang tersenarai di atas.
Contoh Kes Penggunaan Biasa
Berikut adalah beberapa situasi penggunaan tipikal untuk servbayctl
:
Beralih pantas antara versi PHP untuk pengujian:
bashservbayctl stop php -all servbayctl start php 8.2
1
2Mulakan semula pangkalan data selepas mengubah konfigurasi:
bash# Contoh jika anda telah mengubah suai my.cnf atau my.ini servbayctl restart mysql
1
2Pastikan semua servis dimatikan, contohnya sebelum mematikan sistem atau mengemas kini ServBay:
bashservbayctl stop-all
1Semak sama ada pelayan web sedang berjalan:
bashservbayctl status caddy
1Automasi permulaan persekitaran pembangunan melalui skrip:
bash#!/bin/bash echo "Menghentikan semua perkhidmatan ServBay..." servbayctl stop-all echo "Memulakan perkhidmatan yang diperlukan..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "Perkhidmatan ServBay telah dimulakan."
1
2
3
4
5
6
7
8
9
10
11
12
Perhatian dan Amalan Terbaik
- Tambah ke PATH: Disyorkan dengan kuat untuk menambah direktori di mana
servbayctl
terletak ke dalam PATH sistem anda supaya mudah digunakan. - Berhati-hati dengan
kill
: Arahankill
akan memaksa proses ditamatkan serta-merta dan boleh menyebabkan kehilangan data atau status servis menjadi tidak normal. Gunakan hanya jikastop
ataurestart
tidak berhasil. stop-all
adalah operasi global: Arahan ini akan mematikan semua servis latar belakang di bawah kendalian ServBay. Pastikan anda benar-benar ingin melakukannya sebelum meneruskan.- Parameter Versi: Apabila menggunakan parameter
version
, pastikan versi tersebut telah dipasang dan disokong dalam ServBay. Versi yang dipasang boleh disemak melalui GUI ServBay. - Pengendalian Ralat: Jika arahan
servbayctl
gagal, mesej ralat akan dipaparkan di terminal. Sila semak juga fail log berkaitan di dalam folderlogs
di direktori pemasangan ServBay untuk maklumat terperinci. - Gabungan GUI dan CLI:
servbayctl
melengkapi GUI ServBay. Untuk perubahan konfigurasi yang lebih kompleks atau gambaran keseluruhan sistem, GUI masih merupakan pilihan terbaik.
Soalan Lazim (FAQ)
S: Saya menerima mesej command not found
apabila menjalankan arahan servbayctl
. Apa yang perlu saya lakukan?
J: Ini biasanya berlaku kerana direktori /Applications/ServBay/script
belum ditambah ke dalam PATH sistem. Sila rujuk bahagian "Prasyarat" dalam dokumen ini untuk cara menambah direktori ke PATH anda.
S: Saya menjalankan servbayctl start <service>
tetapi servis tidak berjaya dimulakan. Bagaimana saya boleh mencari punca masalahnya?
J:
- Gunakan
servbayctl status <service>
untuk menyemak status servis semula. - Semak folder
logs
di direktori pemasangan ServBay, cari fail log ralat untuk servis yang bermasalah untuk maklumat terperinci. - Cuba mulakan servis sama melalui GUI ServBay; GUI mungkin memberikan maklumat ralat yang lebih mesra.
- Semak fail konfigurasi servis untuk sebarang kesilapan.
S: Adakah parameter -all
boleh digunakan untuk semua servis?
J: Parameter -all
terutamanya digunakan untuk servis yang menyokong pelbagai versi, seperti PHP. Untuk kebanyakan pangkalan data (MySQL, PostgreSQL, dsb.) dan pelayan web (Caddy), biasanya hanya ada satu instance berjalan. Maka, menggunakan -all
atau tidak memberi kesan yang sama, tetapi penggunaan nama servis secara terus lebih jelas. Untuk servis seperti Redis atau Memcached yang mungkin berjalan pada beberapa port berbeza, -all
boleh mengawal semua instance tersebut (bergantung kepada pelaksanaan dalaman ServBay).
Rumusan
servbayctl
ialah antara muka baris perintah yang berkuasa yang disediakan oleh ServBay untuk para pembangun. Ia sangat meningkatkan fleksibiliti dan kecekapan dalam mengurus servis persekitaran pembangunan tempatan anda. Dengan menguasai arahan seperti start
, stop
, reload
, restart
, kill
, status
, dan stop-all
bersama-sama dengan parameter version
dan -all
, anda boleh mengawal pelbagai perkhidmatan seperti PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy dan banyak lagi terus dari terminal - seterusnya mempercepatkan automasi dan mengoptimumkan pengalaman pembangunan anda.