Nginx Virtual Hosts
```wiki
Nginx Virtual Hosts
Virtual Hosts أو المضيفات الافتراضية في Nginx هي طريقة تسمح لخادم Nginx واحد باستضافة مواقع ويب متعددة. بدلاً من الحاجة إلى خوادم متعددة لكل موقع ويب، يمكنك استخدام خادم Nginx واحد وإعداد مضيفات افتراضية مختلفة لكل موقع. هذا يوفر الموارد ويجعل الإدارة أسهل. هذا المقال موجه للمبتدئين ويهدف إلى شرح كيفية إعداد واستخدام Virtual Hosts في Nginx.
ما هي Virtual Hosts ولماذا نستخدمها؟
تخيل أن لديك عدة مواقع ويب: موقع شخصي، مدونة، ومتجر إلكتروني. بدون Virtual Hosts، ستحتاج إلى ثلاثة خوادم ويب منفصلة، واحد لكل موقع. وهذا مكلف ويستهلك موارد كبيرة. Virtual Hosts تسمح لك بتشغيل جميع هذه المواقع على خادم Nginx واحد.
ببساطة، Virtual Hosts تعمل عن طريق تمييز المواقع المختلفة بناءً على اسم النطاق (Domain Name). عندما يرسل المستخدم طلبًا إلى خادم الويب، يفحص Nginx اسم النطاق ويحدد أي Virtual Host يجب أن يتعامل مع الطلب.
المتطلبات الأساسية
قبل أن تبدأ في إعداد Virtual Hosts، تأكد من أن لديك:
- خادم يعمل بنظام Linux (مثل Ubuntu أو CentOS).
- Nginx مثبّت ويعمل بشكل صحيح. راجع تثبيت Nginx للحصول على تعليمات حول كيفية تثبيت Nginx.
- أسماء نطاقات (Domains) مسجلة وتشير إلى عنوان IP الخاص بخادمك. يمكنك الحصول على أسماء نطاقات من خلال شركات تسجيل النطاقات مثل GoDaddy أو Namecheap.
- معرفة أساسية بسطر الأوامر (Command Line).
- صلاحيات المستخدم root أو مستخدم لديه صلاحيات sudo.
إنشاء ملفات تهيئة Virtual Host
عادةً ما يتم تخزين ملفات تهيئة Virtual Host في الدليل `/etc/nginx/conf.d/` أو `/etc/nginx/sites-available/`. الدليل `/etc/nginx/sites-available/` يستخدم لتخزين جميع ملفات التهيئة المتاحة، بينما `/etc/nginx/sites-enabled/` يحتوي على روابط رمزية (Symbolic Links) إلى ملفات التهيئة النشطة. هذا يسمح لك بتفعيل أو تعطيل Virtual Hosts بسهولة عن طريق إنشاء أو حذف الروابط الرمزية.
سنستخدم هنا الدليل `/etc/nginx/conf.d/`.
1. **إنشاء ملف تهيئة لكل موقع:** قم بإنشاء ملف تهيئة لكل موقع ويب تريد استضافته. على سبيل المثال، لإنشاء ملف تهيئة لموقع `example.com`، قم بإنشاء ملف باسم `example.com.conf`:
```bash sudo nano /etc/nginx/conf.d/example.com.conf ```
2. **محتوى ملف التهيئة:** أضف المحتوى التالي إلى الملف. استبدل `example.com` باسم النطاق الخاص بك، و `/var/www/example.com` بالدليل الذي يحتوي على ملفات موقعك:
```nginx server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm;
location / { try_files $uri $uri/ =404; }
error_log /var/log/nginx/example.com_error.log; access_log /var/log/nginx/example.com_access.log; } ```
* `listen 80;`: يحدد المنفذ الذي يستمع إليه Nginx (المنفذ 80 هو المنفذ الافتراضي لـ HTTP). * `server_name example.com www.example.com;`: يحدد أسماء النطاقات التي سيستجيب لها هذا Virtual Host. * `root /var/www/example.com;`: يحدد الدليل الجذري (Root Directory) الذي يحتوي على ملفات موقعك. * `index index.html index.htm;`: يحدد ملفات الفهرس التي سيتم عرضها إذا لم يتم تحديد ملف معين. * `location / { ... }`: يحدد كيفية التعامل مع الطلبات إلى الدليل الجذري. * `try_files $uri $uri/ =404;`: يحاول Nginx تقديم الملف المطلوب. إذا لم يتم العثور على الملف، فسيتم إرجاع خطأ 404. * `error_log /var/log/nginx/example.com_error.log;`: يحدد ملف سجل الأخطاء. * `access_log /var/log/nginx/example.com_access.log;`: يحدد ملف سجل الوصول.
3. **تكرار العملية:** كرر هذه العملية لكل موقع ويب تريد استضافته، مع إنشاء ملف تهيئة منفصل لكل موقع.
إعداد الدلائل الجذرية (Root Directories)
لكل Virtual Host، تحتاج إلى إنشاء الدليل الجذري الذي سيحتوي على ملفات موقعك.
1. **إنشاء الدلائل:** إذا لم يكن الدليل `/var/www/example.com` موجودًا، فقم بإنشائه:
```bash sudo mkdir -p /var/www/example.com ```
2. **تحديد ملكية الدليل:** تأكد من أن المستخدم الذي يشغل Nginx (عادةً `www-data`) لديه صلاحية الكتابة إلى هذا الدليل:
```bash sudo chown -R www-data:www-data /var/www/example.com ```
3. **إضافة ملف فهرس:** أضف ملف `index.html` بسيط إلى الدليل الجذري لاختبار Virtual Host:
```bash sudo nano /var/www/example.com/index.html ```
```html <!DOCTYPE html> <html> <head> <title>Welcome to example.com!</title> </head> <body>
Success! The Virtual Host is working!
</body> </html> ```
اختبار التهيئة وإعادة تشغيل Nginx
1. **اختبار التهيئة:** قبل إعادة تشغيل Nginx، تأكد من أن ملفات التهيئة الخاصة بك صحيحة:
```bash sudo nginx -t ```
إذا كانت هناك أي أخطاء، فسيتم عرضها. قم بتصحيح الأخطاء قبل المتابعة.
2. **إعادة تشغيل Nginx:** بمجرد التأكد من أن التهيئة صحيحة، أعد تشغيل Nginx لتطبيق التغييرات:
```bash sudo systemctl restart nginx ```
الوصول إلى مواقع الويب
الآن، افتح متصفح الويب الخاص بك وأدخل اسم النطاق الخاص بك (على سبيل المثال، `example.com`). يجب أن ترى صفحة `index.html` التي قمت بإنشائها. إذا لم يكن الأمر كذلك، فتحقق من الخطوات التالية:
- تأكد من أن اسم النطاق الخاص بك يشير إلى عنوان IP الصحيح لخادمك.
- تحقق من ملفات تهيئة Virtual Host بحثًا عن أي أخطاء.
- تحقق من سجلات Nginx ( `/var/log/nginx/error.log` ) بحثًا عن أي أخطاء.
تهيئة Virtual Hosts لـ HTTPS (SSL/TLS)
لتأمين مواقع الويب الخاصة بك، من المهم استخدام HTTPS. يمكنك الحصول على شهادات SSL/TLS مجانية من Let's Encrypt.
1. **تثبيت Certbot:** Certbot هو أداة مجانية وسهلة الاستخدام لتأمين Nginx باستخدام Let's Encrypt:
```bash sudo apt update sudo apt install certbot python3-certbot-nginx ```
2. **الحصول على شهادة SSL/TLS:** قم بتشغيل Certbot لتأمين موقعك:
```bash sudo certbot --nginx -d example.com -d www.example.com ```
سيقوم Certbot تلقائيًا بتعديل ملفات تهيئة Nginx الخاصة بك لإضافة دعم HTTPS.
3. **إعادة تشغيل Nginx:** أعد تشغيل Nginx لتطبيق التغييرات:
```bash sudo systemctl restart nginx ```
الآن، يمكن الوصول إلى موقعك عبر HTTPS (على سبيل المثال، `https://example.com`). تأكد من أنك تقوم بإعادة توجيه HTTP إلى HTTPS لضمان أن جميع الزوار يستخدمون الاتصال الآمن.
خيارات متقدمة
- **إعادة التوجيه (Redirection):** يمكنك إعادة توجيه الزوار من HTTP إلى HTTPS أو من نطاق غير مفضل إلى نطاق مفضل.
- **ضغط Gzip:** يمكنك تمكين ضغط Gzip لتقليل حجم ملفات موقعك وتحسين سرعة التحميل.
- **التخزين المؤقت (Caching):** يمكنك تكوين Nginx لتخزين ملفات موقعك مؤقتًا لتحسين الأداء.
- **تحسين الأمان:** يمكنك اتخاذ خطوات إضافية لتحسين أمان خادم Nginx الخاص بك، مثل تعطيل الوصول إلى الملفات الحساسة وتقييد الوصول إلى واجهة الإدارة.
اعتبارات إضافية للخيارات الثنائية والمتداولين
بالنسبة للمتداولين في سوق الخيارات الثنائية، فإن فهم Virtual Hosts يمكن أن يكون مفيدًا إذا كنت تقوم باستضافة مواقع ويب أو تطبيقات ذات صلة بالتداول. على سبيل المثال، إذا كنت تقوم بتشغيل مدونة حول استراتيجيات الخيارات الثنائية أو منصة للتحليل الفني، فإن Virtual Hosts تسمح لك باستضافة هذه المواقع بشكل منفصل على خادم واحد.
- **تحليل حجم التداول (Volume Analysis):** إذا كنت تستضيف موقعًا يقدم بيانات حول حجم التداول، فتأكد من أن خادمك يمكنه التعامل مع حجم الزيارات المتوقع.
- **المؤشرات الفنية (Technical Indicators):** إذا كنت تستضيف موقعًا يقدم أدوات للتحليل الفني، فتأكد من أن خادمك يمكنه معالجة العمليات الحسابية المطلوبة بسرعة وكفاءة.
- **الاتجاهات (Trends):** إذا كنت تستضيف موقعًا يعرض اتجاهات السوق، فتأكد من أن خادمك يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجيات الخيارات الثنائية (Binary Options Strategies):** إذا كنت تستضيف موقعًا يقدم معلومات حول استراتيجيات الخيارات الثنائية، مثل استراتيجية مارتينجال أو استراتيجية 60 ثانية، فتأكد من أن خادمك يمكنه التعامل مع حجم الزيارات المتوقع.
- **تحليل المخاطر (Risk Analysis):** تأكد من أن خادمك آمن لحماية بيانات المستخدمين وبيانات التداول.
- **إدارة الأموال (Money Management):** إذا كنت تستضيف موقعًا يقدم نصائح حول إدارة الأموال، فتأكد من أن خادمك موثوق به ويمكنه التعامل مع حجم الزيارات المتوقع.
- **التحليل الأساسي (Fundamental Analysis):** إذا كنت تستضيف موقعًا يقدم تحليلات أساسية، فتأكد من أن خادمك يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **إدارة الصفقات (Trade Management):** إذا كنت تستضيف موقعًا يقدم أدوات لإدارة الصفقات، فتأكد من أن خادمك يمكنه معالجة البيانات بسرعة وكفاءة.
- **التقلب (Volatility):** إذا كنت تستضيف موقعًا يعرض بيانات حول التقلب، فتأكد من أن خادمك يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **الرافعة المالية (Leverage):** إذا كنت تستضيف موقعًا يقدم معلومات حول الرافعة المالية، فتأكد من أن خادمك يمكنه التعامل مع حجم الزيارات المتوقع.
- **استراتيجية المضاعفة (Martingale Strategy):** تأكد من أن الخادم يمكنه التعامل مع الزيادة المحتملة في الزيارات إذا كانت استراتيجية المضاعفة تحظى بشعبية.
- **استراتيجية المتوسط المتحرك (Moving Average Strategy):** تأكد من أن الخادم يمكنه التعامل مع العمليات الحسابية المطلوبة لعرض المتوسطات المتحركة.
- **استراتيجية الاختراق (Breakout Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية التصحيح (Pullback Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية الاتجاه (Trend Following Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية التداول المتأرجح (Swing Trading Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية التداول اليومي (Day Trading Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية التداول طويل الأجل (Long-Term Trading Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **استراتيجية التداول قصير الأجل (Short-Term Trading Strategy):** تأكد من أن الخادم يمكنه التعامل مع تحديثات البيانات في الوقت الفعلي.
- **مؤشر القوة النسبية (Relative Strength Index - RSI):** تأكد من أن الخادم يمكنه التعامل مع العمليات الحسابية المطلوبة لعرض مؤشر RSI.
- **مؤشر الماكد (Moving Average Convergence Divergence - MACD):** تأكد من أن الخادم يمكنه التعامل مع العمليات الحسابية المطلوبة لعرض مؤشر MACD.
- **مؤشر ستوكاستيك (Stochastic Oscillator):** تأكد من أن الخادم يمكنه التعامل مع العمليات الحسابية المطلوبة لعرض مؤشر ستوكاستيك.
- **تحليل الشموع اليابانية (Candlestick Analysis):** تأكد من أن الخادم يمكنه التعامل مع عرض الرسوم البيانية للشموع اليابانية بشكل صحيح.
الخلاصة
Virtual Hosts هي أداة قوية تسمح لك باستضافة مواقع ويب متعددة على خادم Nginx واحد. باتباع الخطوات الموضحة في هذا المقال، يمكنك إعداد Virtual Hosts بسهولة والاستفادة من مزاياها. تذكر دائمًا اختبار تهيئتك قبل إعادة تشغيل Nginx والتأكد من أن جميع مواقع الويب الخاصة بك تعمل بشكل صحيح. إدارة Nginx تأمين Nginx تكوين Nginx تسجيل Nginx تحسين أداء Nginx Nginx و PHP Nginx و MySQL Nginx و SSL Nginx و CDN مشاكل Nginx الشائعة ```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين