.servbay.config फाइल द्वारा प्रोजेक्ट स्तर की एनवायरनमेंट कॉन्फ़िगरेशन
अवलोकन
ServBay एक शक्तिशाली लोकल वेब डेवलपमेंट टूल है, जो डेवलपर्स को हर प्रोजेक्ट के लिए अलग रनटाइम एनवायरनमेंट कॉन्फ़िगर करने की सुविधा देता है। इस फीचर का मुख्य आधार यह है कि आप हर प्रोजेक्ट डायरेक्ट्री में .servbay.config
नाम की फाइल बना सकते हैं।
.servbay.config
फाइल की मदद से आप किसी भी खास प्रोजेक्ट के लिए ज़रूरी PHP, Node.js, Python, Go, Java आदि लैंग्वेज वर्शन निर्धारित कर सकते हैं, साथ ही Node.js के पैकेज मैनेजर्स (जैसे NPM, Yarn) के रिपोजिटरी पते और कैश डायरेक्टरी जैसी सेटिंग्स को भी कस्टमाइज़ कर सकते हैं। इस तरह की प्रोजेक्ट-स्तरीय सूक्ष्म कंट्रोल से डेवलपमेंट की स्पीड और आसानी काफी बढ़ जाती है, हर प्रोजेक्ट को बिलकुल उसकी ज़रूरत के हिसाब से उपयुक्त वर्शन पर चलाना आसान हो जाता है और वर्शन की टकराव की समस्या नहीं होती।
.servbay.config
फाइल का कार्य-प्रणाली
जब ServBay स्टार्ट होता है या साइट को रीलोड करता है, तो वह वेबसाइट की रूट डायरेक्ट्री में .servbay.config
फाइल के होने की जांच करता है। यदि यह फाइल मिलती है, तो ServBay उसमें लिखी गई सेटिंग्स पढ़ता है और उस खास साइट के रनटाइम एनवायरनमेंट में लागू कर देता है। ये प्रोजेक्ट-स्तरीय सेटिंग्स सर्वबे की ग्लोबल सेटिंग्स पर प्राथमिकता लेती हैं। अगर .servbay.config
मौजूद नहीं है या उसमें कोई सेटिंग तय नहीं है, तो सर्वबे की वैश्विक (डिफ़ॉल्ट) सेटिंग्स का ही प्रयोग होगा।
इस मैकेनिज्म की वजह से अलग-अलग प्रोजेक्ट्स के बीच स्विच करना बेहद सहज हो जाता है, क्योंकि हर प्रोजेक्ट अपना एनवायरनमेंट खुद लेकर चलता है।
.servbay.config
कैसे बनाएं और कॉन्फ़िगर करें
.servbay.config
फाइल बनाना और कॉन्फ़िगर करना बहुत आसान है।
फाइल का स्थान
अपने प्रोजेक्ट की रूट डायरेक्ट्री में .servbay.config
नाम की फाइल बनाएं। प्रोजेक्ट रूट आमतौर पर ServBay की साइट्स के स्टोरेज पथ के तहत होती है, उदाहरण के लिए:/Applications/ServBay/www/आपका-प्रोजेक्ट-नाम/
कॉन्फ़िगरेशन सिंटैक्स
.servbay.config
फाइल में सेटिंग्स KEY=VALUE
फॉर्मेट में लिखी जाती हैं, हर सेटिंग नई लाइन में। आप #
का इस्तेमाल कमेंट लिखने के लिए कर सकते हैं ताकि फाइल पढ़ने में आसान हो।
कॉन्फ़िगरेशन विकल्पों का उदाहरण
नीचे एक .servbay.config
फाइल का उदाहरण है, जिसमें विभिन्न एनवायरनमेंट वर्शन और पैकेज मैनेजर की सेटिंग्स कॉन्फ़िगर हैं:
bash
# .servbay.config उदाहरण फाइल
# PHP का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
PHP_VERSION=8.5
# Node.js का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
NODE_VERSION=20
# Yarn के पैकेज डाउनलोड को तेज करने के लिए इसका मिरर रिपोजिटरी पता।
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM के पैकेज डाउनलोड को तेज करने के लिए इसका मिरर रिपोजिटरी पता।
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM के लिए स्थानीय कैश डायरेक्ट्री सेट करें। ध्यान दें: यह पथ ServBay इंस्टॉल डाइरेक्ट्री के सापेक्ष है।
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# Yarn के लिए स्थानीय कैश डायरेक्ट्री सेट करें। ध्यान दें: यह पथ ServBay इंस्टॉल डायरेक्ट्री के सापेक्ष है।
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# Ruby का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
RUBY_VERSION=2.7
# Java (OpenJDK) का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
JAVA_VERSION=21
# Python का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
PYTHON_VERSION=3.11
# .NET का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
DOTNET_VERSION=5.0
# Go का वर्शन चुनें। सुनिश्चित करें कि यह वर्शन ServBay में इंस्टॉल है।
GO_VERSION=1.12
# Go मॉड्यूल इंस्टॉल को तेज करने के लिए प्रॉक्सी सर्वर कॉन्फ़िगर करें।
GOPROXY=https://goproxy.cn,direct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
कृपया ध्यान दें: उदाहरण में दिए गए वर्शन नंबर (PHP_VERSION=8.5
, NODE_VERSION=20
आदि) केवल डेमो उद्देश्य के लिए हैं। वास्तव में, आपको अपने प्रोजेक्ट की जरूरत और ServBay में इंस्टॉल किए गए समर्थित वर्शन के हिसाब से सही वेल्यू भरनी होगी। यदि कोई वर्शन इंस्टॉल न हो, तो संभव है ServBay डिफॉल्ट वर्शन का इस्तेमाल करे या एरर दे।
सपोर्टेड कॉन्फ़िगरेशन विकल्प
उपरोक्त उदाहरण के आधार पर, .servbay.config
फाइल में प्रमुख रूप से निम्नलिखित प्रकार के कॉन्फ़िगरेशन सपोर्ट किए जाते हैं:
एनवायरनमेंट वर्शन निर्धारण:
PHP_VERSION
: PHP वर्शन सेट करें।NODE_VERSION
: Node.js वर्शन सेट करें।RUBY_VERSION
: Ruby वर्शन सेट करें।JAVA_VERSION
: Java (OpenJDK) वर्शन।PYTHON_VERSION
: Python वर्शन।DOTNET_VERSION
: .NET वर्शन।GO_VERSION
: Go वर्शन।- (वर्तमान में उपलब्ध सभी एनवायरनमेंट टाइप्स और उनके वेरिएबल नाम देखने के लिए ServBay की डॉक्यूमेंटेशन या ऐप UI देखें।)
सॉफ़्टवेयर पैकेज मैनेजर कॉन्फ़िगरेशन (Node.js):
YARN_CONFIG_REGISTRY
: Yarn मिरर रिपोजिटरी।NPM_CONFIG_REGISTRY
: NPM मिरर रिपोजिटरी।NPM_CONFIG_CACHE
: NPM लोकल कैश डायरेक्ट्री।YARN_CONFIG_CACHE
: Yarn लोकल कैश डायरेक्ट्री।
Go मॉड्यूल प्रॉक्सी कॉन्फ़िगरेशन:
GOPROXY
: Go मॉड्यूल प्रॉक्सी सर्वर का पता।
इन कॉन्फ़िगरेशन विकल्पों से आप हर प्रोजेक्ट के लिए अलग अलग एनवायरनमेंट सेट कर सकते हैं, जिससे एक प्रोजेक्ट की सेटिंग दूसरे पर असर नहीं करती।
वास्तविक उपयोग और सत्यापन
.servbay.config
फाइल कॉन्फ़िगर करने के बाद, सुनिश्चित करें कि ServBay में आपका प्रोजेक्ट (यानी, “साइट्स” लिस्ट में दिख रहा हो) ठीक से लोड हुआ है। ServBay आपके प्रोजेक्ट को लोड या रीलोड करते वक्त फाइल से सेटिंग्स पढ़ेगा।
कॉन्फ़िगरेशन सही लागू हुई या नहीं, यह जांचने के लिए आप ये तरीके अपना सकते हैं:
ServBay ऐप UI में देखें: ऐप के वेबसाइट डिटेल्स वा संबंधित पैनल में, उस प्रोजेक्ट के लिए कौन-कौन से एनवायरनमेंट वर्शन एक्टिव हैं, यह दिखाई दे सकता है।
कमांड लाइन से जांचें: ServBay के टर्मिनल फीचर में जाएं, और सुनिश्चित करें कि वर्किंग डायरेक्ट्री आपके प्रोजेक्ट की रूट डायरेक्ट्री है। फिर ये कमांड्स चलाएं:
- PHP वर्शन जांचने के लिए:
php -v
- Node.js वर्शन:
node -v
- Yarn वर्शन:
yarn -v
- NPM वर्शन:
npm -v
- Python वर्शन:
python -V
याpython3 -V
- Go वर्शन:
go version
- Java वर्शन:
java -version
- .NET वर्शन:
dotnet --version
- Ruby वर्शन:
ruby -v
आपके.servbay.config
फाइल में जो वर्शन सेट हैं, क्या टर्मिनल में वोही रिज़ल्ट आ रहा है, यह जांच लें।
- PHP वर्शन जांचने के लिए:
वेब पेज से जांचें (PHP के लिए): प्रोजेक्ट रूट में एक सिंपल PHP फाइल (जैसे
info.php
) बनाएं, जिसमें केवल<?php phpinfo(); ?>
हो। ब्राउज़र में इस फाइल को खोलें (उदाहरण:http://your-project.servbay.demo/info.php
) और आउटपुट में दिख रहे PHP वर्शन को चेक करें कि वह आपके सेट किए वर्शन से मेल खाता है या नहीं।
नीचे दी गई इमेज शायद ServBay UI में प्रोजेक्ट स्तर की सेटिंग्स लागू होने का उदाहरण दिखा रही है:
(कृपया ServBay ऐप के रियल आउटपुट को देखें, ताकि सही में प्रोजेक्ट-स्तरीय सेटिंग्स के लागू होने की पुष्टि कर सकें।)
ध्यान देने योग्य बातें
.servbay.config
फाइल का नाम बिलकुल सही होना चाहिए, स्पेलिंग में कोई गलती न हो।- यह फाइल प्रोजेक्ट के रूट में ही रखनी चाहिए।
- फाइल में सेट किए गए वर्शन वही हों, जो ServBay में इंस्टॉल एवं सपोर्टेड हों।
- हर सेटिंग नई लाइन में,
KEY=VALUE
फॉर्मेट में हो। - सिंटैक्स एरर की वजह से पूरी फाइल इग्नोर हो सकती है या कुछ सेटिंग काम नहीं कर सकतीं।
.servbay.config
की सेटिंग केवल उसी प्रोजेक्ट पर लागू होती है, ServBay की ग्लोबल सेटिंग्स को ओवरराइड करती है।
सामान्य प्रश्न (FAQ)
प्रश्न: अगर मेरे प्रोजेक्ट रूट में .servbay.config
नहीं है तो क्या होगा?
उत्तर: अगर यह फाइल मौजूद नहीं है, तो ServBay आपके ऐप सेटिंग में कॉन्फ़िगर की गई ग्लोबल एनवायरनमेंट सेटिंग्स से प्रोजेक्ट चलाएगा।
प्रश्न: अगर मैंने .servbay.config
में ऐसा वर्शन सेट किया, जो ServBay में इंस्टॉल नहीं है, तो क्या होगा?
उत्तर: ServBay एरर दिखा सकता है, इसकी व्यवहार आपके ऐप वर्शन और सेटिंग्स पर निर्भर है। ध्यान रखें, हमेशा पहले जरुरी वर्शन को ServBay ऐप के द्वारा इंस्टॉल कर लें।
प्रश्न: क्या .servbay.config
फाइल बदलने के बाद ServBay को रीस्टार्ट करना होगा?
उत्तर: प्रायः इतना काफी है कि आप ServBay ऐप में अपनी वेबसाइट को रीलोड करें या स्टॉप कर फिर से स्टार्ट कर लें, पूरी ऐप को बंद-खोलना जरूरी नहीं।
प्रश्न: क्या .servbay.config
की सेटिंग्स मेरे दूसरे प्रोजेक्ट्स को भी प्रभावित करेंगी?
उत्तर: नहीं। .servbay.config
एक प्रोजेक्ट-स्पेसिफिक सेटिंग है और केवल उसी डायरेक्ट्री के अंदर ServBay वेबसाइट पर लागू होगी।
सारांश
.servbay.config
फाइल के ज़रिए ServBay हर डेवलपर को अत्यंत शक्तिशाली प्रोजेक्ट-स्तरीय एनवायरनमेंट मैनेजमेंट देता है। चाहे कोई पुराना प्रोजेक्ट हो, जिसे खास पुराने वर्शन की ज़रूरत है, या कोई आधुनिक प्रोजेक्ट हो जिसमें नवीनतम टेक्नोलॉजी का इस्तेमाल हो, आप इस फाइल के सरल कॉन्फ़िग्रेशन से एनवायरनमेंट को तेज़ी से स्विच और आइसोलेट कर सकते हैं। इससे लोकल डेवलपमेंट अत्यधिक फ्लेक्सिबल और सक्षम बनता है। इस सुविधा का भरपूर उपयोग करें और अपने डेवलपमेंट वर्कफ़्लो को और बेहतर बनाएं।