OffshoreVps
الشروحات14 أكتوبر 20269 دقيقة للقراءةبقلم فريق OffshoreVps

كيف تستضيف موقعاً على VPS باستخدام Nginx وHTTPS

ثبّت Nginx على Ubuntu، وأنشئ كتلة server، وأضف شهادة Let's Encrypt مجانية، وسرّع الموقع. أوامر جاهزة للنسخ واللصق لموقع يعمل خلال 20 دقيقة.

الاستضافة المشتركة سهلة، لكن خادم VPS يمنحك السرعة وصلاحيات root ويحميك من الجيران المزعجين. يأخذ هذا الدليل خادم Ubuntu 24.04 أو 22.04 جديدًا إلى موقع HTTPS يعمل فعليًا باستخدام Nginx، خلال نحو عشرين دقيقة. يمكن نسخ كل أمر كما هو.

نافذة طرفية على VPS تعرض الأوامر المستخدمة لاستضافة موقع باستخدام Nginx وHTTPS، تبدأ بـ “sudo apt update”
نوع الأوامر التي ستشغّلها على خادمك في هذا الدليل.

ما تحتاجه

  • خادم VPS بـ 1 vCPU وذاكرة 1 GB على الأقل (تكفي خططنا الأساسية لمعظم المواقع الصغيرة).
  • اسم نطاق موجّه إلى عنوان IP الخاص بالخادم (راجع دليلنا حول توجيه نطاق إلى VPS).
  • وصول SSH بمستخدم يملك صلاحيات sudo. إذا كان الخادم جديدًا تمامًا، فنفّذ أولًا التحصين الأساسي.

1. تثبيت Nginx

sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx

افتح عنوان IP الخاص بخادمك في المتصفح. يجب أن ترى صفحة الترحيب الافتراضية لـ Nginx. إن لم تظهر، تأكد من أن جدار الحماية يسمح بالمنفذين 80 و443:

sudo ufw allow "Nginx Full"
sudo ufw status

2. إنشاء مجلد الموقع

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html

استبدل example.com باسم نطاقك في كل مكان.

خطوات هذا الدليل بالترتيب: 1. ما تحتاجه؛ 2. 1. ثبّت Nginx؛ 3. 2. أنشئ مجلد الموقع؛ 4. 4. أضف HTTPS مجانياً مع Let's Encrypt؛ 5. 5. اجعله أسرع؛ 6. مشكلات شائعة
خطوات هذا الدليل بالترتيب.

3. إضافة كتلة server

sudo nano /etc/nginx/sites-available/example.com
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html;

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

فعّلها، ثم اختبر الإعدادات وأعد التحميل:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4. إضافة HTTPS مجاني عبر Let's Encrypt

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

يعدّل Certbot كتلة server لديك، ويعيد توجيه HTTP إلى HTTPS، ويثبّت مؤقتًا (timer) يجدد الشهادة تلقائيًا. تحقق من المؤقت باستخدام systemctl list-timers | grep certbot.

5. جعله أسرع

فعّل الضغط والتخزين المؤقت في المتصفح للملفات الثابتة. أضف هذا داخل كتلة server:

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;

location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
    expires 30d;
    add_header Cache-Control "public";
}

أعد تحميل Nginx بعد ذلك. بالنسبة للمواقع الديناميكية مثل WordPress، ثبّت PHP-FPM ومرّر إليه طلبات .php، أو ضع إضافة تخزين مؤقت أمامه.

مشكلات شائعة

  • 403 Forbidden: لا يستطيع Nginx قراءة المجلد. تحقق من الملكية ومن أن كل مجلد أب قابل للتنفيذ (chmod o+x).
  • فشل Certbot: النطاق لا يشير إلى الخادم بعد، أو أن المنفذ 80 محجوب.
  • ما زالت الصفحة الافتراضية تظهر: احذف /etc/nginx/sites-enabled/default ثم أعد التحميل.