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.html | chown -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 الإعداد دون قطع الاتصالات المفتوحة.