إعداد خادم الويب Nginx
توفر ServBay طريقة سهلة لإدارة وتكوين حزمة خادم الويب Nginx المدمجة. من خلال واجهة المستخدم الرسومية البديهية لـ ServBay، يمكنك ضبط إعدادات Nginx الأساسية بسهولة لتلائم متطلبات مشاريع التطوير المحلية المختلفة.
الوصول إلى إعدادات Nginx
- افتح تطبيق ServBay.
- من الشريط الجانبي الأيسر، انقر على
خادم الويب
. - اختر علامة التبويب
Nginx
.
ستظهر لك واجهة إعدادات Nginx كما في الصورة أدناه:
شرح أهم الإعدادات
فيما يلي شرح مفصل لكل إعداد متوفر في واجهة ضبط Nginx:
إعدادات الشبكة الأساسية
- HTTP Port: المنفذ الذي يستمع عليه Nginx لبروتوكول HTTP، والافتراضي هو
80
. - HTTPS Port: المنفذ الذي يستمع عليه Nginx لبروتوكول HTTPS، والافتراضي هو
443
. - Worker Connections: الحد الأقصى لعدد الاتصالات المتزامنة المسموح بها لكل عملية عامل في Nginx. تؤثر هذه القيمة على قدرة Nginx في معالجة الاتصالات في وقت واحد. القيمة
10240
تعتبر مرتفعة نسبيًا ومناسبة للسيناريوهات عالية الحمل.
الأداء والقيود
- Client Max Body Size: أقصى حجم ممكن لهيكل الطلب من العميل، وغالبًا يُستخدم لتقييد حجم الملفات المرسلة. قيمة
2048m
تعني السماح بطلبات تصل إلى 2GB. - KeepAlive Timeout: مدة بقاء الاتصال بين العميل والخادم نشطًا باستخدام خاصية Keep-Alive (بالثواني). إذا لم يقم العميل بأي طلب إضافي خلال
65
ثانية، سيتم إغلاق الاتصال من طرف الخادم. - TCP Nodelay: تفعيل أو تعطيل خيار
TCP_NODELAY
. عند التفعيل (On)، يقلل من تأخير إرسال الحزم الصغيرة، وينصح بتفعيله في الشبكات ذات زمن الانتقال المرتفع أو التطبيقات التفاعلية.
إصدار بروتوكول HTTP
- HTTP/2: تمكين أو تعطيل دعم بروتوكول HTTP/2، والذي يعزز الأداء من خلال دعم التعددية وضغط رؤوس الحزم وغيرها. يُوصى بتفعيله.
- HTTP/3: تمكين أو تعطيل دعم بروتوكول HTTP/3 (QUIC)، الجيل الجديد من البروتوكولات المعتمدة على UDP، والذي يوفر أداءً وموثوقية أعلى. إذا كان إصدار ServBay لديك يدعمه، يمكنك تفعيله حسب الحاجة.
إعدادات FastCGI (لمعالجة PHP وغيرها من البرمجيات الخلفية)
- FastCGI Connect Timeout: المهلة الزمنية (بالثواني) التي ينتظرها Nginx للاتصال بخادم FastCGI مثل PHP-FPM.
- FastCGI Send Timeout: المهلة التي يُسمح خلالها لـ Nginx بإرسال الطلبات إلى FastCGI.
- FastCGI Read Timeout: فترة الانتظار التي يخصصها Nginx لاستلام الرد من FastCGI.
هذه الإعدادات هامة عند تشغيل سكريبتات PHP طويلة الأمد ويجب ضبطها بما يتناسب مع طبيعة التطبيق لتجنب انقطاع الطلبات بشكل مبكر.
ضغط Gzip
- Gzip: تفعيل أو تعطيل ضغط Gzip. عند التفعيل، سيقوم Nginx بضغط الاستجابات قبل إرسالها للعميل، مما يقلل من حجم البيانات المتبادلة ويسرع تحميل الصفحات؛ يُوصى بشدة بتفعيله.
- Gzip Comp Level: مستوى ضغط Gzip، تبدأ من
1
(الأسرع وأدنى ضغط) حتى9
(الأبطأ وأعلى ضغط). عادةً القيم1
أو2
توفر توازنًا جيدًا بين السرعة ومستوى الضغط. - Gzip Types: أنواع المحتوى (MIME types) التي يطبّق عليها ضغط Gzip. الإعداد الافتراضي يشمل النصوص وCSS وجافاسكريبت وXML وRSS. يمكنك إضافة أو حذف الأنواع حسب حاجتك.
إعدادات SSL/TLS (لبروتوكول HTTPS)
- SSL Protocols: البروتوكولات المسموح استخدامها لـ SSL/TLS. يُوصى بالإعداد
TLSv1.2 TLSv1.3
لتعزيز الأمان مع تعطيل البروتوكولات القديمة (مثل SSLv3, TLSv1.0, TLSv1.1). - SSL Prefer Server Ciphers: عند التفعيل (On)، يتم تفضيل قائمة التشفيرات التي يدعمها الخادم في الاتصال الآمن بدلاً من قائمة العميل، لضمان استخدام التشفيرات الأقوى؛ يُوصى بتفعيلها.
- SSL Ciphers: قائمة التشفيرات التي يسمح بها الخادم. استخدام مجموعات تشفير حديثة وقوية أمر حاسم لأمن HTTPS. توفر ServBay قائمة افتراضية محسّنة.
إعدادات أخرى
- Server Tokens: تتحكم فيما إذا كان Nginx يعرض رقم الإصدار في صفحات الخطأ ورأس الاستجابة
Server
. عند التفعيل (On)، تظهر تفاصيل الإصدار؛ أما عند التعطيل (Off)، تظهر فقط كلمةnginx
، مما يُعد أكثر أمانًا في العادة. - Index: قائمة بأسماء ملفات الفهرسة التي يبحث عنها Nginx عند الوصول إلى مجلد. مثل:
index.html index.htm index.php
؛ حيث يبحث Nginx بالترتيب حتى يجد الملف المناسب.
الحفظ وإعادة الضبط
- Reset: النقر على هذا الزر يعيد جميع إعدادات Nginx إلى إعدادات ServBay الافتراضية.
- Save: النقر على هذا الزر يحفظ جميع التعديلات المدخلة على تكوين Nginx. عادةً ما يتم تطبيق التغييرات تلقائيًا بعد الحفظ، وقد يتطلب الأمر إعادة تشغيل قصيرة لخدمة Nginx في حال كانت تعمل.
ملاحظات هامة
- التغييرات هنا تطبَّق على الإعدادات العامة لـ Nginx (المحتوى داخل كتلة
http
فيnginx.conf
). أما إعدادات المواقع المحددة (كتل الخدمة أو الاستضافة الافتراضية مثلserver_name
,root
,location
وغيرها) فهي تُضبط عادةً عند إضافة أو تعديل "المواقع". - إذا ظهرت لك رسالة "Service Nginx is not enabled" في أسفل واجهة الإعداد، فهذا يعني أن خدمة Nginx غير نشطة حاليًا. بإمكانك تعديل الإعدادات وحفظها، لكن تطبيق التغييرات لن يتم إلا عند تشغيل خدمة Nginx لاحقًا. يمكنك تشغيل الخدمة من لوحة تحكم ServBay الرئيسية أو من قائمة
الحزم
.
الملخص
عملت ServBay على تسهيل عملية إعداد خادم الويب Nginx، بحيث يمكن للمطورين تعديل المعايير الأساسية بسهولة عبر واجهة رسومية. بفهم وضبط هذه الإعدادات، ستتمكن من تحسين أداء وأمان ووظائف Nginx ليخدم بيئة تطوير الويب المحلية لديك بأفضل شكل.