دليل استكشاف أخطاء خدمات الويب
يدعم ServBay استخدام Caddy وNGINX وApache كـ خادم الويب الافتراضي. قد يواجه المستخدمون مشاكل مثل عدم فتح الموقع في الاستخدام اليومي. فيما يلي بعض حلول للمشكلات الشائعة.
استخدام أدوات ServBay للتحقق من الأخطاء
يوفر ServBay أداة تشخيص قوية للغاية. نوصي باستخدام أداة استكشاف الأخطاء المدمجة لمساعدتك في التشخيص وحل المشكلات بنفسك.
افتح تطبيق ServBay، وابحث في الشريط الجانبي عن التشخيص
للوصول إلى أداة التشخيص المدمجة.
فحص ملف التكوين
فحص Caddyfile
استخدم وظيفة التحقق المدمجة في Caddy للتحقق من صحة Caddyfile. يرجى تشغيل الأمر التالي:
$ /Applications/ServBay/bin/caddy validate -c /Applications/ServBay/etc/caddy/Caddyfile
إذا كان الناتج هو Valid configuration
، فهذا يعني أن كل شيء على ما يرام. إذا تم إرجاع رموز خطأ أخرى، يرجى اتخاذ الإجراءات التالية بناءً على رسائل الخطأ. (ملاحظة: قد تظهر أيضًا الكثير من رسائل INFO وWARN، وهذا طبيعي ولن يؤثر على تشغيل الخدمة بشكل صحيح)
خطأ في الشهادات
إذا ظهرت لك رسالة خطأ مثل loading certificates: open xxxxx: no such file or directory
، فهذا يعني أن ملف الشهادة غير موجود. تحقق من صحة عنوان ملف الشهادة.
2024/12/09 17:24:16.970 INFO using config from file {"file": "/Applications/ServBay/etc/caddy/Caddyfile"}
2024/12/09 17:24:16.991 INFO adapted config to JSON {"adapter": "caddyfile"}
2024/12/09 17:24:16.991 WARN Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies {"adapter": "caddyfile", "file": "/Applications/ServBay/etc/caddy/Caddyfile", "line": 8}
2024/12/09 17:24:16.999 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0x1400121f300"}
2024/12/09 17:24:17.006 INFO tls.cache.maintenance stopped background certificate maintenance {"cache": "0x1400121f300"}
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
2
3
4
5
6
7
خطأ في دليل الموقع
إذا ظهرت لك رسالة خطأ مثل 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
.
2024/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
2
3
خطأ في قواعد إعادة الكتابة
استخدام قواعد إعادة الكتابة غير الصحيحة في Caddy، مثل استخدام قواعد NGINX مباشرة، يمكن أن يؤدي إلى الأخطاء.
فحص إعدادات NGINX
استخدم الأمر التالي للتحقق من إعدادات NGINX:
$ /Applications/ServBay/bin/nginx -t
إذا كانت الإعدادات صحيحة، ستظهر:
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
2
الأخطاء الشائعة تشمل:
- أخطاء نحوية (مثل نقص الفواصل المنقوطة)
- أخطاء في مسار الملف
- تعارض في المنافذ
فحص إعدادات Apache
استخدم الأمر التالي للتحقق من إعدادات Apache:
$ /Applications/ServBay/bin/apachectl configtest
الأخطاء الشائعة تشمل:
- فشل تحميل المكونات
- أخطاء نحوية في ملفات .htaccess
- إعدادات أذونات المجلد غير صحيحة
معالجة خطأ 500
خطأ 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
- Caddy:
تحقق مما إذا كانت خدمة PHP قيد التشغيل:
bashps aux | grep php-fpm
1تحقق من أخطاء PHP (إذا كنت تستخدم PHP):
/Applications/ServBay/var/logs/php/php_error.log
تحقق من أذونات الملفات:
bash$ ls -la /Applications/ServBay/www/your-site
1تأكد من أن مستخدم خادم الويب لديه أذونات القراءة.
أخطاء 500 الخاصة بـ Caddy
- تحقق مما إذا كانت تكوينات FastCGI صحيحة.
- تأكد من تشغيل خدمة PHP-FPM.
- تحقق من إعدادات الوكيل العكسي.
أخطاء 500 الخاصة بـ NGINX
- تحقق مما إذا كانت إعدادات
fastcgi_pass
صحيحة. - تحقق مما إذا كانت
client_max_body_size
كبيرة بما فيه الكفاية. - تحقق من إعدادات
try_files
.
أخطاء 500 الخاصة بـ Apache
- تحقق من تفعيل
mod_rewrite
. - تحقق محتوى ملف
.htaccess
. - تحقق من إعدادات
AllowOverride
.
إدارة الخدمات
إعادة تشغيل الخدمة
إذا قمت بتعديل التكوين، فستحتاج إلى إعادة تشغيل الخدمة ذات الصلة:
# Caddy
$ servbayctl restart caddy -all
# NGINX
$ servbayctl restart nginx -all
# Apache
$ servbayctl restart apache -all
2
3
4
5
6
7
8
عرض حالة الخدمة
# Caddy
$ servbayctl status caddy -all
# NGINX
$ servbayctl status nginx -all
# Apache
$ servbayctl status apache -all
2
3
4
5
6
7
8
استكشاف الأخطاء المتقدم
إذا كانت الطرق السابقة غير كافية لحل المشكلة، يمكنك محاولة:
- إيقاف جدار الحماية مؤقتًا لإجراء الاختبارات.
- استخدام
curl -v
لرؤية معلومات الطلب التفصيلية. - إجراء اختبارات على متصفحات/أجهزة مختلفة.
- التحقق من صحة تحليل DNS.
للمزيد من المساعدة، يُرجى الاتصال بفريق الدعم الفني في ServBay.