Skip to content
VDS · المواقع وخوادم الويب

Nginx: التثبيت وأول موقع لك

كيف تثبّت Nginx على Millida VDS، وتقدّم صفحتك الأولى على عنوانك الخاص، وتتجنب إفساد الإعداد بخطأ مطبعي.

آخر تحديث 23 أغسطس 2026

Nginx هو خادم الويب الأكثر شيوعًا: فهو يقدّم الملفات الثابتة ويمرّر الطلبات إلى التطبيقات. في أي مستوى من مستويات VPS، يستهلك عشرات الميغابايتات من الذاكرة، لذا حتى VDS-1 يكفي.

التثبيت

اتصل بالجهاز عبر SSH (الأمر موجود في تبويب «نظرة عامة» في لوحة التحكم /hosting/vds/m/<id>) وثبّت الحزمة.

apt update && apt install -y nginx      # Debian, Ubuntu
dnf install -y nginx && systemctl enable --now nginx   # AlmaLinux, CentOS Stream

تحقق من أن الخدمة تعمل:

systemctl status nginx
curl -I http://127.0.0.1

الآن افتح العنوان العام للجهاز في المتصفح—فهو معروض في «نظرة عامة». يجب أن تظهر صفحة الترحيب الخاصة بـ Nginx.

موقعك الأول

لا تعدّل الملف الافتراضي—أنشئ إعدادًا منفصلًا لكل موقع. فهذا يسهّل تفعيلها وتعطيلها.

mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
chown -R www-data:www-data /var/www/example.ru
server {
    listen 80;
    server_name example.ru www.example.ru;
    root /var/www/example.ru;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

احفظ هذا في /etc/nginx/sites-available/example.ru (على AlmaLinux، /etc/nginx/conf.d/example.ru.conf) وفعّله:

ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

nginx -t خطوة إلزامية. فهي تتحقق من الصياغة قبل إعادة التحميل؛ وبدونها، سيؤدي خطأ في قوس إلى تعطّل جميع المواقع دفعة واحدة.

النطاق والشهادة

وجّه سجل A الخاص بالنطاق إلى عنوان الجهاز من «نظرة عامة». وإلى أن ينتشر السجل، لن يكون الموقع متاحًا إلا عبر IP. أما السجل العكسي (PTR) فيُضبط في تبويب «الوصول»؛ وهو لا يؤثر على عمل الموقع—بل على سمعة البريد الإلكتروني فقط.

بعد ذلك، ثبّت شهادة مجانية: Let's Encrypt. فبدونها تعرض المتصفحات «غير آمن».

الأخطاء الشائعة

العَرَضالسببما يجب فعله
403 Forbiddenلا توجد أذونات على المجلد أو لا يوجد index.htmlchown -R www-data:www-data /var/www/...، تحقق من index
502 Bad Gatewayالتطبيق خلف الوكيل لا يعملsystemctl status لخدمتك، انظر الوكيل العكسي
يفتح موقع آخرلم يطابق الطلب أي server_name ووصل إلى أول كتلةاضبط server_name صراحةً، وأزل default_server من الإعداد الإضافي
المنفذ 80 مشغولApache مثبّت بالفعلعطّله: systemctl disable --now apache2

تحقق من السجلات في /var/log/nginx/error.log—فهناك تجد سبب أي استجابة 500 تقريبًا.

أعد تشغيل Nginx باستخدام systemctl reload، وليس restart: إذ يلتقط reload الإعداد دون قطع الاتصالات المفتوحة.