ServBay वेब सर्वर समस्या समाधान गाइड
ServBay आपको Caddy, NGINX और Apache में से किसी एक डिफॉल्ट वेब सर्वर के रूप में चुनने की सुविधा देता है, जिससे आपको एक लचीला लोकल डेवेलपमेंट वातावरण मिलता है। उपयोग के दौरान, आप वेबसाइट एक्सेस न होने, धीमी लोडिंग या (जैसे 500 इंटरनल सर्वर एरर) जैसी समस्याओं का सामना कर सकते हैं। यह गाइड आपको ServBay वातावरण में सामान्य वेब सर्वर समस्याओं के निदान और समाधान में सहायता करेगा।
ServBay का इनबिल्ट समस्या निदान टूल इस्तेमाल करें
ServBay एक पावरफुल समस्या निदान टूल प्रदान करता है, जो सामान्य कॉन्फ़िगरेशन और सर्विस संबंधी समस्याओं का स्वत: पता करके सुझाव देता है। हम सलाह देते हैं कि समस्या आने पर सबसे पहले इस टूल की मदद लें।
ServBay ऐप खोलें और बाईं ओर के नेविगेशन बार में समस्या निदान
पर क्लिक करें—यह आपको ServBay के स्वयं के समस्या निदान पेज पर ले जाएगा।
यह टूल ServBay के कोर कम्पोनेंट्स की स्थिति, पोर्ट्स की उपलब्धता, और कॉन्फ़िगरेशन फाइल की सिंटैक्स आदि चेक करता है एवं संबंधित सुझाव प्रदान करता है, जिससे आप समस्या शीघ्रता से पहचान सकते हैं।
वेब सर्वर कॉन्फ़िगरेशन फाइल जांचें
वेब सर्वर कॉन्फ़िगरेशन फाइल में त्रुटियाँ वेबसाइट एक्सेस की सामान्य समस्या होती हैं। ServBay हर सर्वर के लिए सिंटैक्स जांचने का टूल देता है।
Caddyfile जांच
Caddy के इनबिल्ट validate
कमांड का उपयोग करके अपने Caddyfile की जाँच करें:
bash
/Applications/ServBay/bin/caddy validate -c /Applications/ServBay/etc/caddy/Caddyfile
1
अगर फाइल सही है, तो कमांड Valid configuration
रिटर्न करेगा। गलती की स्थिति में आवश्यक एरर मैसेज दिखेंगे।
ध्यान दें: caddy validate
कमांड में कई INFO
या WARN
मैसेज मिल सकते हैं—ये Caddy के आंतरिक लोडिंग से जुड़े होते हैं, जरूरी नहीं कि वह कॉन्फ़िगरेशन की समस्या हो। अंत में अगर Valid configuration
दिखे तो आपका Caddyfile सिंटैक्स सही है।
सामान्य Caddyfile एरर उदाहरण:
सर्टिफिकेट फाइल न मिलने का एरर:
bash2024/12/09 17:24:16.970 INFO using config from file {"file": "/Applications/ServBay/etc/caddy/Caddyfile"} ... (अन्य INFO/WARN जानकारी) ... Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/mail.servbay.host/mail.servbay.host.1crt: no such file or directory
1
2
3यदि
loading certificates: open xxxxx: no such file or directory
जैसा एरर मिले, तो इसका अर्थ है कि Caddyfile में बताई गई SSL सर्टिफिकेट फ़ाइल का रास्ता ग़लत है या फाइल उपलब्ध नहीं है। कृपया.crt
/.cer
/.pem
आदि सर्टिफिकेट और.key
फाइल के पते वजूद में हैं या नहीं—यह सुनिश्चित करें। ServBay हैंड-इम्पोर्ट व ACME से ऑटोमेटिक सर्टिफिकेट जनरेट दोनों का समर्थन करता है, सम्बंधित SSL सेटिंग जाँचें।वेबसाइट रूट डायरेक्टरी पथ में स्पेस की समस्या:
bash2024/12/09 17:26:37.371 INFO using config from file {"file": "/Applications/ServBay/etc/caddy/Caddyfile"} Error: adapting config using caddyfile: parsing caddyfile tokens for 'root': too many arguments; should only be a matcher and a path, at /Applications/ServBay/etc/caddy/Caddyfile:1388
1
2यह एरर
parsing caddyfile tokens for 'root': too many arguments
अक्सर रूट पथ में स्पेस होने से आता है—जैसेroot * /Applications/ServBay/www/public web
मेंpublic web
दो शब्द हैं। ऐसे में डबल कोट्स" "
का उपयोग करें:root * "/Applications/ServBay/www/public web"
।सुझाव: फाइल/डायरेक्टरी नाम में स्पेस या ख़ास सिंबल इस्तेमाल न करें। वर्ड सेपरेशन के लिए डैश (
-
) या अंडरस्कोर (_
) प्रयोग करें, जैसेpublic-folder
याpublic_dir
।Rewrite नियम की गलती:
Caddyfile में NGINX जैसे नियम डालने या गलत सिंटैक्स वाले री-राइट नियम से भी एरर आते हैं। कृपया Caddy Rewrite निर्देशिका तथा ServBay का NGINX से वेबसाइट माइग्रेशन गाइड देख लें।
NGINX कॉन्फ़िगरेशन जांच
NGINX का इनबिल्ट -t
स्विच कॉन्फ़िगरेशन की जाँच को उपयोग करें:
bash
/Applications/ServBay/bin/nginx -t
1
सही होने पर दिखेगा:
nginx: the configuration file /Applications/ServBay/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /Applications/ServBay/etc/nginx/nginx.conf test is successful
1
2
2
गलती में फाइल या लाइन नंबर के साथ एरर बताएगा। सामान्य कॉन्फ़िगरेशन एरर:
- सिंटैक्स एरर: जैसे
;
नहीं लगाया, या{}
मिस्टमैच। - फ़ाइल पथ ग़लत: किसी
include
या अन्य कमांड में फ़ाइल/डायरेक्टरी का पता ग़लत या नहीं है। - पोर्ट टकराव: सर्वर द्वारा उपयोग किया गया पोर्ट किसी और ऐप ने ले रखा हो।
Apache कॉन्फ़िगरेशन जांच
Apache का apachectl configtest
कमांड यूज़ करें:
bash
/Applications/ServBay/bin/apachectl configtest
1
सही होने पर Syntax OK
रिटर्न होगा; गलती में पूर्ण विवरण आएगा। आम Apache कॉन्फ़िगरेशन एरर:
- मॉड्यूल लोड नहीं हो रहा:
LoadModule
की फाइल नहीं है या पथ ग़लत। - .htaccess सिंटैक्स एरर: यदि वेबसाइट डाइरेक्ट्री में
.htaccess
गलती है, अपडेट फेल हो सकती है। - डायरेक्ट्री परमिशन प्रॉब्लम:
Directory
याFiles
आदि में सेट परमिशन (Require
,Allow
,Deny
) ने वेबसाइट फाइल तक एक्सेस ब्लॉक किया हो।
500 इंटरनल सर्वर एरर का समाधान
500 Internal Server Error एक सामान्य HTTP त्रुटि है, जो बताता है कि सर्वर का स्क्रिप्ट कोई अप्रत्याशित समस्या से नहीं चल पाया। आम तौर पर PHP, Python, Node.js आदि बैकएंड स्क्रिप्ट्स में फेलियर से होता है।
सामान्य जाँच स्टेप्स
500 एरर दिखने पर निम्नानुसार जाँचें:
वेब सर्वर एरर लॉग देखें: यह सबसे पहली जाँच है। लॉग में प्रायः स्क्रिप्ट एरर, फाइल न मिलना, परमिशन इत्यादि की सूचना होती है।
- Caddy:
/Applications/ServBay/var/logs/caddy/error.log
- NGINX:
/Applications/ServBay/var/logs/nginx/error.log
- Apache:
/Applications/ServBay/var/logs/apache/error.log
सबसे ताजा एंट्री चेक करें, विशेषकरerror
याcritical
शब्द के लिए।
- Caddy:
बैकएंड सर्विस (जैसे PHP-FPM) चालू है या नहीं: यदि साइट PHP पर डिपेंड है, तो PHP-FPM चालू करें।
bashps aux | grep php-fpm
1php-fpm: master process
याphp-fpm: pool www
जैसी लाइन दिखनी चाहिए। न होने पर सर्विस नहीं चल रही। इसे ServBay UI याservbayctl
के जरिए शुरू करें।बैकएंड स्क्रिप्ट (PHP) एरर लॉग देखें: FastCGI/बैकएंड स्क्रिप्ट एरर में संबंधित लैंग्वेज का एरर लॉग जाँचे।
- PHP:
/Applications/ServBay/var/logs/php/php_error.log
लॉग मेंFatal error
,Parse error
,Warning
,Notice
खोजें—खासकर उपयोग में लाई जा रही स्क्रिप्ट से संबंधित। प्रोडक्शन मेंdisplay_errors
बंद रखें, पर डेवेलपमेंट के लिए php.ini में खोल सकते हैं।
- PHP:
फाइल/डायरेक्टरी परमिशन जाँचें: वेब सर्वर प्रायः किसी विशेष यूज़र (जैसे
_www
) द्वारा चलाया जाता है और उसे साइट फाइल्स पढ़ने, अपलोड डायरेक्ट्री या लॉग्स में राइट करने की परमिशन चाहिए।bashls -la /Applications/ServBay/www/your-site/
1वेब सर्वर यूज़र को रीड और जब ज़रूरी हो तो राइट भी देना ज़रूरी है।
chmod
वchown
से परमिशन बदलें—सावधानीपूर्वक।
सर्वर-विशिष्ट 500 एरर की मुख्य जाँचें
Caddy:
- FastCGI सेटअप: Caddyfile में
php_fastcgi
याreverse_proxy
PHP-FPM के सही पते/पोर्ट (जैसे127.0.0.1:9000
याunix:/path/to/php-fpm.sock
) की ओर पॉइंट कर रहे हैं या नहीं। - PHP-FPM स्टेटस: ServBay में सही PHP वर्शन और PHP-FPM चालू है या नहीं।
- रिवर्स प्रोक्सी: यदि Node.js आदि के लिए
reverse_proxy
लगा है, तो प्रोक्सी एड्रेस/पोर्ट और बैकएंड सर्वर चालू है या नहीं देख लें।
- FastCGI सेटअप: Caddyfile में
NGINX:
fastcgi_pass
सेटिंग:nginx.conf
या वेबसाइट के कॉन्फ़िगरेशन मेंfastcgi_pass
सही PHP-FPM एड्रेस की ओर पॉइंट कर रहा है या नहीं।client_max_body_size
: यदि बड़े फ़ाइल अपलोड में 500 एरर आए तो यह लिमिट बढ़ाएँ।try_files
डायरेक्टिव: इसकी जाँच करें कि संबंधित फाइल या इंडेक्स को सही से प्रसारित करता है या FastCGI को रूट कर रहा है या नहीं।
Apache:
mod_rewrite
मॉड्यूल: .htaccess में URL रीराइट है तोmod_rewrite
एक्टिवेट है या नहीं देखें।- .htaccess कंटेंट: .htaccess में गलत नियम 500 त्रुटि दे सकता है। खासकर
RewriteRule
आदि देखें। AllowOverride
सेटिंग: Apache कॉन्फ़िगरेशन के संबंधित डायरेक्टरी मेंAllowOverride
परमिशन दी गई हो (सामान्यतःAll
या कमसेकमFileInfo
,Limit
हो)।
सर्विस प्रबंधन
कॉन्फ़िगरेशन बदलने या बैकएंड समस्या सुलझाने के बाद सर्वर या संबंधित सर्विस रीस्टार्ट करना आवश्यक है।
सर्विस रीस्टार्ट करें
servbayctl restart
से विशिष्ट सर्वर सर्विस को पुनः चालू करें:
bash
# Caddy सेवा रीस्टार्ट करें
servbayctl restart caddy -all
# NGINX सेवा रीस्टार्ट करें
servbayctl restart nginx -all
# Apache सेवा रीस्टार्ट करें
servbayctl restart apache -all
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
-all
का अर्थ है कि संबंधित सर्वर तथा FastCGI (यदि लागू हो) सर्विस भी रीस्टार्ट होंगी।
सर्विस स्टेटस देखें
servbayctl status
से सेवा की वर्तमान स्थिति देखें:
bash
# Caddy सेवा की स्थिति जानें
servbayctl status caddy -all
# NGINX सेवा की स्थिति जानें
servbayctl status nginx -all
# Apache सेवा की स्थिति जानें
servbayctl status apache -all
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
कमांड आउटपुट से पता चलेगा कि सर्विस running
(चालू), stopped
(बंद) या अन्य किसी स्टेटस में है—इससे कन्फर्म करें कि सर्विस शुरू/बंद है।
ऐडवांस समस्या समाधान स्टेप्स
यदि ऊपर दिए गए तरीकों से समाधान नहीं हुआ है, तो ये अतिरिक्त जाँचें करें:
- ब्राउज़र डेवेलपर टूल्स देखें: F12 दबाएँ,
Console
औरNetwork
टैब में जाएँ—जावास्क्रिप्ट एरर, HTTP रिस्पॉन्स कोड, हेडर आदि देखें। इससे पता चलेगा कि फ्रंटएंड या बैकएंड समस्या है। curl -v
उपयोग करें: टर्मिनल मेंcurl -v your-website.servbay.demo
चलाएँ। यह HTTP अनुरोध/रिस्पॉन्स, हेडर, SSL/TLS डिटेल्स दिखाएगा—नेटवर्क या कनैक्शन समस्याओं की पहचान में मदद मिलेगी।your-website.servbay.demo
को अपनी वेबसाइट के डोमेन से बदलें।- फायरवॉल अस्थायी बंद करें: macOS फायरवॉल या अन्य थर्ड पार्टी सुरक्षा सॉफ़्टवेयर इनकमिंग कनेक्शन ब्लॉक कर सकता है; फायरवॉल अस्थायी रूप से बंद कर देखें। यदि समस्या हल हो जाये तो आवश्यक पोर्ट्स (80, 443 आदि) खोलें।
- विभिन्न ब्राउज़र/डिवाइस पर टेस्ट करें: दूसरे ब्राउज़र या डिवाइस से वेबसाइट एक्सेस करें कि क्या समस्या सिर्फ एक ही जगह हो रही है या सब जगह, जिससे कैश या डिवाइस समस्या का पता चल सके।
- लोकल DNS/hosts फाइल जांचें: कस्टम डोमेन इस्तेमाल कर रहे हैं (localhost या IP नहीं), तो
/etc/hosts
या लोकल DNS में एंट्री127.0.0.1
या::1
से जोड़ी है या नहीं, जाँचें।
निष्कर्ष
लोकल वेब सर्वर समस्याएँ आम हैं, पर व्यवस्थित जाँच—कॉन्फ़िगरेशन, एरर लॉग, सर्विस स्टेटस, फाइल परमिशन—से इनमें से अधिकांश का समाधान संभव है। ServBay का इनबिल्ट निदान टूल और servbayctl
कमांड आपके मददगार हैं। किसी जटिल समस्या में ज्यादा जानकारी ServBay डॉक्युमेंटेशन या तकनीकी समर्थन से प्राप्त करें।