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/scriptke dalam pembolehubah persekitaran PATH sistem anda. Ini membolehkan anda menjalankan arahanservbayctldari mana-mana lokasi tanpa perlu memasukkan laluan penuh.Untuk pengguna Bash atau Zsh, edit fail
~/.bash_profile,~/.bashrc,~/.zshrc, atau~/.profileanda 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.4atau-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.11 - Contoh: Mulakan semua versi PHP yang telah dipasangbash
servbayctl start php -all1 - Contoh: Mulakan servis MySQL dengan tetapan lalaibash
servbayctl start mysql1
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.41 - Contoh: Hentikan semua versi MariaDB yang dipasangbash
servbayctl stop mariadb -all1 - Contoh: Hentikan servis Redisbash
servbayctl stop redis1
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 caddy1 - Contoh: Muat semula konfigurasi untuk semua versi PHP (jika disokong)bash
servbayctl reload php -all1
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 pgsql1 - Contoh: Mulakan semula semua versi Redis yang dipasang (jika lebih dari satu)bash
servbayctl restart redis -all1
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.41 - Contoh: Bunuh semua proses Memcached secara paksabash
servbayctl kill memcached -all1
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 caddy1 - Contoh: Semak status untuk semua versi MySQL yang dipasangbash
servbayctl status mysql -all1
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-all1
- Contoh: Hentikan semua perkhidmatan latar belakang ServBaybash
servbayctl stop-all1
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.21
2Mulakan semula pangkalan data selepas mengubah konfigurasi:
bash# Contoh jika anda telah mengubah suai my.cnf atau my.ini servbayctl restart mysql1
2Pastikan semua servis dimatikan, contohnya sebelum mematikan sistem atau mengemas kini ServBay:
bashservbayctl stop-all1Semak sama ada pelayan web sedang berjalan:
bashservbayctl status caddy1Automasi 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
servbayctlterletak ke dalam PATH sistem anda supaya mudah digunakan. - Berhati-hati dengan
kill: Arahankillakan memaksa proses ditamatkan serta-merta dan boleh menyebabkan kehilangan data atau status servis menjadi tidak normal. Gunakan hanya jikastopataurestarttidak berhasil. stop-alladalah 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
servbayctlgagal, mesej ralat akan dipaparkan di terminal. Sila semak juga fail log berkaitan di dalam folderlogsdi direktori pemasangan ServBay untuk maklumat terperinci. - Gabungan GUI dan CLI:
servbayctlmelengkapi 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
logsdi 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.
