تثبيت خادم Nginx على Debian وضبط الإعدادات الأولية

يعتبر Nginx واحد من أهم خوادم الويب في العالم وأكثرها مرونه في التعامل مع عدد كبير جدا من الامور التي لا تخطر على بالك. في هذا المقال نقوم بشرج تثبيت خادم Nginx على خادم من نوع Debian.

هذا المقال هو الجزء الأول من مشروع شرح تثبيت خادم Nginx وتشغيل موقع عليه. للعودة إلى الفهرس، يمكن الضغط هنا.

تثبيت الخادم سهل وبسيط جدا وممكن من خلال عدد من الطرق أهمها التثبيت من مستودع البرمجيات مباشرة، أو التثبيت من الكود المصدري للبرنامج.

التثبيت من الكود المصدري مهم في حال أردنا إضافة مميزات إضافية غير مدعومة في البرنامج مثل الاتصال عبر شبكات HTTP/3. في هذا الشرح سوف نلتزم بالتثبيت من خلال مستودعات البرامج لأنها الأسهل على الرغم من أنها توفر نسخة قديمة نسبية من البرنامج.

تثبيت Nginx

تحديث النظام

قبل البدء في التثبيت، يجب إنشاء خادم جديد يعمل بنظام Debian 12. بعد ذلك، يتوجب القيام بعمل تحديث للمستودعات من خلال الأمر التالي:

apt update

ومن ثم تحديث البرامج التي قد تحتاج تحديثات

apt upgrade

عند الإنتهاء من تحديث البرامج يمكن المتابعة. لاحظ، في حال تم تحديث نواة النظام، يُفضّل أن نُعيد تشغيل الخادم قبل المتابعة.

تثبيت Nginx

يمكن تثبيت Nginx على Debian بسهولة من خلال الأمر التالي:

apt install nginx

عند الإنتهاء، نقوم بتشغيل وتفعيل التشغيل التلقائي للبرنامج

systemctl enable --now nginx

ثم نتأكد من أنه يعمل بشكل صحيح

systemctl status nginx

النتيجة يجب أن تكون مشابهه للتالي:

إعدادات Nginx الأوّلية

في الحقيقة ليس هناك ما يجب فعله. هذه أمور اضافية أنا افضل القيام بها لا أكثر.

بشكل افتراضي، عند طلب عنوان IP الخادم، يقوم Nginx بعرض صفحة افتراضية مشابهة للتالي:

حتى نحظر هذا التصرف، يمكن تحرير الملف التالي بمحرر النصوص المفضل لدينا. هنا نستخدم vi

vi /etc/nginx/sites-enabled/default

نحذف محتويات الملف بالكامل وبدلا منه نضع التالي:

server {
listen 80;
listen 443;
server_name "";
return 444;
}

نلاحظ أن الرد الإفتراضي هنا هو 444 معناه أنه لا يوجد رد. يمكن تغيير الرد لما تشاء. مثلا 200 ومعناه أن الرد كان صحيح، أو 403 ومعناه أن الوصول للصفحة محظور.

بالإضافة لما سبق، يمكن أيضا تحرير الصفحة الإفتراضية للخادم من خلال تحرير الملف التالي ووضع أي محتوى بدلا منه:

/usr/share/nginx/html/index.html

تثبيت عنوان الخادم

أحد الأمور التي أُفضّل القيام بها هي ضبط النطاق الأساسي للخادم. من ناحيتي قمت بإختيار الاسم التالي ومن ثم وجّهت عنوان IP الخاص به إلى الخادم:

linuxarabia-nginx.linuxarabia.co

بما أن هذا النطاق هو الإفتراضي، لا مانع من استخدام نفس ملف الإعدادات لضبطه. للقيام بذلك، نقوم بتحرير ملف الإعدادات:

vi /etc/nginx/sites-enabled/default

ومن ثم وضع الكود التالي في نهايته:

server {
listen 80;
server_name linuxarabia-nginx.linuxarabia.co;
root /usr/share/nginx/html;
index index.html;
}

عند الإنتهاء، نحفظ الملف ومن ثم نفحص الإعدادات من خلال الأمر التالي:

nginx -t

النتيجة يجب أن تكون كالتالي:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

عند الإنتهاء، نقوم بإعادة تشغيل Nginx:

systemctl restart nginx

والآن نفحص الإعدادت من خلال دخول رابط الخادم:

http://linuxarabia-nginx.linuxarabia.co/

والنتيجة هي كالتالي:

إلى هنا نكون أنهينا تثبيت خادم Nginx. التثبيت كان سهل، بسيط ومباشر جدا وليس فيه أي تعقيدات. الخطوة التالية هي تثبيت تثبيت قواعد البيانات على خادم Debian.