कमांड लाइन टूल servbayctl
servbayctl ServBay द्वारा प्रदान किया गया एक शक्तिशाली कमांड लाइन टूल है, जिसका उद्देश्य डेवलपर्स को टर्मिनल के माध्यम से सीधे ServBay बैकग्राउंड सेवाओं को प्रबंधित करने की क्षमता देना है। servbayctl की मदद से, आप सेवाओं को शुरू, रोक, रीस्टार्ट, रीलोड, किल, स्टेटस देखना और सभी सेवाओं को रोकना जैसे कार्य बड़ी आसानी से कर सकते हैं। यह विशेष रूप से उन डेवलपर्स के लिए फायदेमंद है जिन्हें ऑटोमेशन, तेज़ सर्विस स्विचिंग या कमांड लाइन इंटरफेस पसंद है।
यह दस्तावेज़ servbayctl के उपयोग की विधि, उपलब्ध कमांड्स, पैरामीटर और समर्थित सेवाओं का विस्तार से परिचय देगा।
अवलोकन
ServBay आपके लोकल वेब डेवेलपमेंट एनवायरनमेंट को प्रबंधित करने के लिए एक सहज ग्राफिकल यूज़र इंटरफेस (GUI) प्रदान करता है, साथ ही इसमें servbayctl नामक कमांड लाइन इंटरफेस (CLI) टूल भी शामिल है। servbayctl ServBay के इंस्टॉल फोल्डर के script डायरेक्टरी में स्थित है। यह आपको सरल कमांड्स द्वारा ServBay में इंस्टॉल किए गए विभिन्न पैकेज एवं उनकी बैकग्राउंड सेवाओं की स्थिति को नियंत्रित करने में सक्षम बनाता है।
servbayctl उपयोग करने के फायदे:
- ऑटोमेशन: सेवा प्रबंधन को अपने डेवलपमेंट वर्कफ़्लो स्क्रिप्ट में आसानी से शामिल करें।
- प्रभावशीलता: GUI खोले बिना ही सर्विसेस को तेज़ी से शुरू या बंद करें।
- लचीलापन: रिमोट SSH या हेडलेस एनवायरनमेंट्स के लिए उपयुक्त।
- सटीक नियंत्रण: स्पेसिफिक सेवा या वर्शन चुनने की सुविधा।
पूर्व आवश्यकताएँ
servbayctl का उपयोग करने से पहले निम्न बातों की पुष्टि करें:
आपने ServBay सफलतापूर्वक इंस्टॉल किया है।
आपके पास टर्मिनल (Terminal) की पहुँच है।
(वैकल्पिक, किन्तु अनुशंसित) सुविधा के लिए आप
/Applications/ServBay/scriptडायरेक्टरी को अपने सिस्टम PATH एनवायरनमेंट वेरिएबल में जोड़ सकते हैं। इससे आप पूरे सिस्टम में किसी भी जगह सेservbayctlकमांड चला पाएँगे।Bash या Zsh यूज़र्स अपने
~/.bash_profile,~/.bashrc,~/.zshrcया~/.profileमें यह लाइन जोड़ें:bashexport PATH="/Applications/ServBay/script:$PATH"1फाइल सेव करने के बाद, टर्मिनल में
source ~/.bash_profile(या जिस फाइल को एडिट किया है) चलाएँ या टर्मिनल को रीस्टार्ट करें।
उपयोग की सिंटैक्स
servbayctl कमांड की बेसिक सिंटैक्स इस प्रकार है:
bash
servbayctl <command> <service> [parameters]1
<command>: वह क्रिया जो आप करना चाहते हैं (जैसेstart,stop,restart)।<service>: जिस सेवा पर आप क्रिया करना चाहते हैं (जैसेphp,mysql,caddy)।[parameters]: अतिरिक्त पैरामीटर, जैसे सेवा का वर्शन या दायरा (7.4या-allआदि)।
ServBay द्वारा प्रदान किए गए servbayctl के यूसेज इनफॉरमेशन के अनुसार, समर्थित कमांड और बेसिक स्ट्रक्चर इस प्रकार हैं:
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
ध्यान दें: stop-all कमांड सेवा का नाम या कोई पैरामीटर नहीं लेता, यह सभी ServBay प्रबंधित सेवाएँ बंद कर देता है।
समर्थित कमांड्स का विवरण
नीचे servbayctl में उपलब्ध प्रत्येक कमांड की विस्तार से जानकारी एवं उदाहरण दिए गए हैं:
start - सेवा शुरू करना
चुनी गई सेवा को प्रारंभ करता है। आप कोई विशेष वर्शन चुन सकते हैं या -all से सभी इंस्टॉल किए गए वर्शन एक साथ चालू कर सकते हैं।
bash
servbayctl start <service> [-all|version]1
- उदाहरण: PHP 8.1 सेवा चालू करनाbash
servbayctl start php 8.11 - उदाहरण: सभी इंस्टॉल PHP वर्शन चालू करेंbash
servbayctl start php -all1 - उदाहरण: डिफ़ॉल्ट MySQL सेवा चालू करेंbash
servbayctl start mysql1
stop - सेवा रोकना
चुनी हुई सेवा को रोकता है। आप स्पेसिफिक वर्शन या -all से सभी इंस्टॉल वर्शन बंद कर सकते हैं।
bash
servbayctl stop <service> [-all|version]1
- उदाहरण: PHP 7.4 सेवा बंद करनाbash
servbayctl stop php 7.41 - उदाहरण: सभी MariaDB वर्शन बंद करनाbash
servbayctl stop mariadb -all1 - उदाहरण: Redis सेवा बंद करनाbash
servbayctl stop redis1
reload - सेवा की सेटिंग्स रीलोड करना
चुनी गई सेवा की कॉन्फ़िगरेशन को रीलोड करता है। जब आपने सेवा के कॉन्फिग फाइल में बदलाव किया हो और बिना पूरी सेवा रीस्टार्ट किए बदलाव लागू करना हो तब इसका उपयोग करें। सभी सेवाएँ हॉट रीलोड सपोर्ट नहीं करतीं।
bash
servbayctl reload <service> [-all|version]1
- उदाहरण: Caddy वेब सर्वर की सेटिंग रीलोड करेंbash
servbayctl reload caddy1 - उदाहरण: सभी PHP वर्शन की सेटिंग रीलोड करें (यदि सपोर्टेड हो)bash
servbayctl reload php -all1
restart - सेवा रीस्टार्ट करना
चयनित सेवा को पूरी तरह से रीस्टार्ट करता है; यानी पहले रोकेगा फिर फिर से शुरू करेगा।
bash
servbayctl restart <service> [-all|version]1
- उदाहरण: PostgreSQL डेटाबेस सेवा रीस्टार्ट करेंbash
servbayctl restart pgsql1 - उदाहरण: सभी इंस्टॉल Redis वर्शन रिस्टार्ट करें (यदि मल्टीपल वर्शन हों)bash
servbayctl restart redis -all1
kill - सेवा प्रक्रिया को बलपूर्वक बंद करें
सेवा की प्रक्रिया (प्रोसेस) को जबर्दस्ती समाप्त करता है। यह एक शक्तिशाली ऑपरेशन है, सावधानी से इस्तेमाल करें; इससे डेटा लॉस या करप्शन संभव है, खासतौर पर डेटाबेस के लिए। जब सेवा सामान्य रूप से नहीं रुकती तभी इसका सहारा लें।
bash
servbayctl kill <service> [-all|version]1
- उदाहरण: PHP 7.4 सेवा प्रोसेस को किल करेंbash
servbayctl kill php 7.41 - उदाहरण: सभी Memcached सेवा प्रोसेस को बलपूर्वक समाप्त करेंbash
servbayctl kill memcached -all1
status - सेवा की स्थिति देखें
सेवा का वर्तमान स्टेटस (चालू/बंद) जाँचें।
bash
servbayctl status <service> [-all|version]1
- उदाहरण: Caddy सेवा की स्थिति देखेंbash
servbayctl status caddy1 - उदाहरण: सभी इंस्टॉल MySQL वर्शन की स्थिति देखेंbash
servbayctl status mysql -all1
stop-all - सभी ServBay सेवाओं को रोकें
वर्तमान में चल रही सभी ServBay मेनेज्ड बैकग्राउंड सेवाओं को रोकता है। यह एक ग्लोबल कमांड है, सेवा या वर्शन पैरामीटर नहीं लेता।
bash
servbayctl stop-all1
- उदाहरण: सभी ServBay बैकग्राउंड सेवाएँ बंद करेंbash
servbayctl stop-all1
समर्थित सेवाओं की सूची
servbayctl के यूसेज इनफॉरमेशन के अनुसार, यह निम्न प्रकार की बैकग्राउंड सेवाओं को सीधे कंट्रोल कर सकता है:
php: PHP-FPM के विभिन्न वर्शन की प्रबंधन।mariadb: MariaDB डेटाबेस सेवा।mysql: MySQL डेटाबेस सेवा।postgresql: PostgreSQL डेटाबेस सेवा।redis: Redis कैश/डेटाबेस सेवा।memcached: Memcached कैश सेवा।caddy: Caddy वेब सर्वर सेवा।nginx: Nginx वेब सर्वर सेवा।apache: Apache HTTP सर्वर सेवा।dnsmasq: ServBay का इनबिल्ट DNS सेवा।mongodb: MongoDB डेटाबेस सेवा।rabbitmq: RabbitMQ मेसेज क्यू सेवा।cloudflared: Cloudflare Tunnel सेवा (यदि इंस्टॉल और कन्फ़िगर हो)।frpc: Fatedier/frp क्लाइंट सेवा (यदि उपलब्ध)।mailpit: Mailpit ईमेल कैप्चर सेवा।web: वेब सेवाएँ (किस वेब सेवा के लिए, यह आपके प्रोजेक्ट/इंस्टॉलेशन पर निर्भर है)।ollama: Ollama लोकल बड़े लैंग्वेज मॉडल सेवा।
कृपया ध्यान दें कि servbayctl अब Nginx एवं Apache समेत कई मुख्य बैकग्राउंड सेवाओं का डायरेक्ट प्रबंधन कर सकता है। यद्यपि ServBay और भी कई सॉफ्टवेयर पैकेज (जैसे Java, Python, Go, .NET, Ruby, Rust आदि) सपोर्ट करता है, लेकिन ये आमतौर पर servbayctl से सीधे नियंत्रित बैकग्राउंड सर्विस के रूप में नहीं चलते। इन्हें टर्मिनल से डाइरेक्ट उपयोग करना या उनके अपने प्रबंधन टूल्स से नियंत्रित करना होता है। servbayctl मुख्यतः ऊपर दी गई लिस्ट की बैकग्राउंड डेमॉन सेवाओं के प्रबंधन पर केन्द्रित है।
सामान्य उपयोग केस उदाहरण
यहाँ कुछ आम उपयोग परिदृश्यों के उदाहरण दिए गए हैं:
PHP वर्शन स्विचिंग क्विक टेस्टिंग के लिए:
bashservbayctl stop php -all servbayctl start php 8.21
2डाटाबेस सेवा को कॉन्फ़िग परिवर्तन के बाद रीस्टार्ट करें:
bash# मान लें आपने my.cnf या my.ini एडिट किया है servbayctl restart mysql1
2ध्यान रखें कि सभी सेवाएं बंद हैं, जैसे शटडाउन या अपडेट से पहले:
bashservbayctl stop-all1वेब सर्वर के रनिंग स्टेटस की जाँच:
bashservbayctl status caddy1डेवेलपमेंट एनवायरनमेंट ऑटोमेशन स्क्रिप्ट:
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' का सावधानी से उपयोग करें:
killकमांड सेवाएँ जबर्दस्ती बंद कर सकती है और डेटा लॉस या सेवा की खराब स्थिति का कारण बन सकती है। जब तक ज़रूरी न हो,stopयाrestartको प्राथमिकता दें। - 'stop-all' एक ग्लोबल क्रिया है: यह सभी बैकग्राउंड सेवाएँ बंद कर देगा, कृपया पुष्टि करें कि आप यही करना चाहते हैं।
- वर्शन पैरामीटर: version चुनते समय Verify करें कि वह सर्विस़ ServBay में इंस्टॉल एवं सपोर्टेड है। इंस्टॉल किए गए पैकेज और वर्शन GUI में देख सकते हैं।
- एरर हैंडलिंग: यदि
servbayctlकमांड फेल होती है तो आमतौर पर टर्मिनल में एरर मैसेज मिलता है। समस्या खोजने के लिए एरर संदेश पढ़ें या ServBay के लॉग्स (आमतौर परlogsफोल्डर में) देखें। - GUI एवं CLI का सम्मिलित उपयोग:
servbayctlGUI का सप्लीमेंटरी टूल है। जटिल कॉन्फ़िगरेशन या समग्र दृष्टि के लिए GUI अधिक सुविधाजनक रहता है।
सामान्य प्रश्न (FAQ)
प्र. जब मैं servbayctl चलाता हूँ तो 'command not found' आता है?
उ. आमतौर पर इसका कारण /Applications/ServBay/script डायरेक्टरी PATH वेरिएबल में न होना है। कृपया “पूर्व आवश्यकताएँ” में दिए गए निर्देशों के अनुसार PATH में यह डायरेक्टरी जोड़ें।
प्र. मैंने servbayctl start <service> किया लेकिन सेवा चालू नहीं हुई, मैं क्या करूँ?
उ:
servbayctl status <service>से दोबारा सेवा की स्थिति जाँचें।- ServBay इंस्टाल डायरेक्टरी के
logsफोल्डर में संबंधित सेवा के एरर लॉग देखें, वहाँ प्रॉब्लम का कारण मिल सकता है। - GUI द्वारा सेवा शुरू करने की कोशिश करें, जहाँ आमतौर पर बेहतर एरर संदेश मिलते हैं।
- सेवा की कॉन्फ़िगरेशन फाइल्स में गलती तो नहीं जाँचें।
प्र. क्या सभी सेवाओं के लिए -all पैरामीटर चलता है?
उ. -all मुख्य तौर पर उन सेवाओं के लिए है जिनके मल्टीपल वर्शन हो सकते हैं, जैसे PHP। अधिकांश डेटाबेस (MySQL, PostgreSQL आदि) या वेब सर्वर (Caddy) के लिए एक ही इंस्टेंस चलता है; वहाँ -all वर्शन न देने के बराबर है, अतः सिर्फ सेवा नाम देना पर्याप्त है। Redis/Memcached जैसे केस में जहाँ मल्टीपल पोर्ट्स पर इंस्टेंस चल सकते हैं, -all सभी पर अप्लाई होगा (डिटेल सर्वबए की आंतरिक अप्रोच पर निर्भर करता है)।
सारांश
servbayctl ServBay द्वारा दिया गया एक पॉवरफुल कमांड लाइन इंटरफेस है, जो लोकल डेवेलपमेंट सेवाओं के प्रबंधन में जबरदस्त लचीलापन और कार्यकुशलता लाता है। start, stop, reload, restart, kill, status, stop-all कमांड्स के साथ-साथ version/-all पैरामीटर के प्रयोग से आप टर्मिनल के जरिये PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy आदि सभी समर्थित सर्विसेस को यथास्वेच्छा नियंत्रित कर सकते हैं — जिससे ऑटोमेटेड वर्कफ़्लो में बेहतर एकीकरण व डेवेलपमेंट अनुभव की प्राप्ति होती है।
