NGINX مقابل Apache: ما هو أفضل خادم ويب لـ WordPress؟

نشرت: 2023-02-12

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

في حين أن هناك العديد من خوادم الويب للاختيار من بينها ، فإن Apache و NGINX هما أكثر الخيارات شيوعًا. ولكن أي من الاثنين هو أفضل خادم ويب؟

يتعامل هذان الخادمان مع أكثر من 50٪ من جميع زيارات الويب. على الرغم من أنها تشترك في العديد من الصفات ، إلا أن هناك اختلافات تحتاج إلى معرفتها والتي يمكن أن تساعدك في اختيار النوع المناسب لموقعك. في هذه المقالة ، سنناقش الاختلافات بين NGINX و Apache. سننظر بعد ذلك في كيفية تثبيت WordPress على كلا النوعين من الخوادم. هيا بنا نبدأ!

جدول المحتويات
1. مقارنة الأداء: NGINX مقابل Apache
1.1 اباتشي
1.2 NGINX
2. ما هو الفرق بين اباتشي و NGINX؟
3. ما هو أفضل برنامج خادم ويب WordPress؟
3.1. كيفية تثبيت WordPress على Apache
3.1.1. الخطوة 1: قم بإنشاء مستخدم Sudo على الخادم الخاص بك
3.1.2. الخطوة الثانية: تثبيت خادم الويب Apache
3.1.3. الخطوة الثالثة: قم بتثبيت MySQL Database Server
3.1.4. الخطوة الرابعة: تثبيت PHP
3.1.5. الخطوة 5: إعداد Virtual Hosts
3.1.6. الخطوة السادسة: تثبيت WordPress
3.2 كيفية تثبيت WordPress على NGINX
3.2.1. الخطوة 1: قم بتثبيت MySQL
3.2.2. الخطوة الثانية: إنشاء قاعدة بيانات MySQL
3.2.3. الخطوة الثالثة: تثبيت WordPress
3.2.4. الخطوة 4: تكوين WordPress
3.2.5. الخطوة الخامسة: تثبيت PHP
3.2.6. الخطوة 6: قم بتثبيت وحدة NGINX
4. استمر في التعلم مع WP Engine

مقارنة الأداء: NGINX مقابل Apache

كما ذكرنا سابقًا ، يعد NGINX و Apache من أبرز خيارات خادم الويب. يمكنهم التعامل مع أعباء العمل المتنوعة والعمل مع البرامج الأخرى لتكوين حزم LAMP و LEMU. ومع ذلك ، من أجل مقارنة خوادم الويب هذه بدقة ، ستحتاج إلى فهم كيفية اختلافها.

اباتشي

Apache هو الأقدم من بين الخادمين ، وقد تم إصداره وتطويره لأول مرة بواسطة Apache Software Foundation في عام 1995 بواسطة Robert McCool. منذ عام 1996 ، كان Apache هو أفضل خادم ويب ، ويستخدمه ما يقرب من 38.7٪ من مواقع الويب. حاليًا ، تواصل مؤسسة Apache إصدار إصدارات Apache.

توفر وحدة Apache مجموعة من المزايا ، بما في ذلك:

  • خيارات التثبيت المسبق: يأتي Apache مثبتًا مسبقًا على توزيعات Linux الرئيسية.
  • مجتمع المستخدمين: لدى Apache مجتمع مستخدم كبير يقدم المساعدة لبعضهم البعض.
  • نظام تحميل الوحدة الديناميكية: يمنعك هذا النظام من لمس الحزمة الرئيسية عند تحديث الخادم.
  • إعادة كتابة عنوان URL في .htaccess : يستخدم Apache 2 mod_rewrite لإعادة كتابة نظيفة.
  • التصميم المعياري: يوفر Apache قدرًا أكبر من التخصيص والمرونة بسبب التصميم المعياري.
  • تكوين الخادم باستخدام ملف httpd.conf : التهيئة سهلة ، لأنك لا تحتاج إلى الوصول إلى ملف apache2.conf الرئيسي.
  • العمل كخادم "بوابة": يمكن أن يعمل Apache أيضًا كخادم وكيل عكسي.

خادم Apache هو خادم ويب سهل الاستخدام مع الكثير من ميزات التخصيص. البرنامج متوافق أيضًا مع خوادم Unix و Windows.

NGINX

تم إصدار NGINX في عام 2004 بواسطة Igor Sysoev ، مؤسس NGINX Inc. ، لحل مشكلة C10K. هذا هو التحدي الذي تواجهه خوادم الويب عند التعامل مع 10000 أو أكثر من طلبات الاتصال المتزامنة.

لحل هذه المشكلة ، تم تطوير NGINX كبنية غير متزامنة وغير قابلة للحظر وقائمة على الأحداث. هذا هو أحد الاختلافات الأساسية بين NGINX و Apache. وهو أيضًا أحد أسباب استخدام ما يقرب من 32.1٪ من مواقع الويب NGINX.

هناك العديد من الفوائد الأخرى التي توفرها NGINX ، مثل:

  • تصميم خفيف الوزن : يمكن تشغيل NGINX على الحد الأدنى من الأجهزة ، ويستخدم ذاكرة أقل من Apache.
  • معالجة المحتوى الثابت : تقدم NGINX معالجة أفضل للمحتوى الثابت عند تكوينها بشكل صحيح.
  • استجابة الحمل الثقيل : تظل NGINX عالية الاستجابة عند وجود حركة مرور كثيفة.
  • تصميم سهل الاستخدام : منحنى التعلم أسهل ، و NGINX سهل الاستخدام للمبتدئين.
  • الإعداد المعياري : يسمح تصميم هذا الخادم ببنيات مرنة ومجموعة من وحدات الطرف الثالث.
  • الوكيل العكسي: يوفر NGINX Plus وكيلًا عكسيًا قائمًا على البرامج مع إمكانات مماثلة للحلول القائمة على الأجهزة بتكلفة أقل.

غالبًا ما يُنظر إلى NGINX و NGINX Plus على أنهما خيارات أفضل لمواقع الويب عالية الحركة نظرًا لقدراتها على موازنة الأحمال للتعامل مع الأحمال الثقيلة. كما أنه مثالي أيضًا للحفاظ على أفضل أداء في المواقع التي تحتوي على الكثير من محتوى الويب الثابت.

ما الفرق بين Apache و NGINX؟

بينما NGINX و Apache HTTP Server متشابهان ، هناك العديد من الاختلافات بين الاثنين. أكبر تمييز هو الطريقة التي تتعامل بها خوادم الويب هذه مع طلبات العملاء المتعددة. يستخدم Apache حلاً متشعبًا ، بينما يستخدم NGINX حلقة حدث غير محظورة.

يوفر Apache وحدات معالجة متعددة (MPMs) تحدد كيفية عمل معالجة الطلب. النهج المتشعب يجعل تبديل هندسة معالجة الاتصال أسهل. الوحدات المستخدمة في هذا النهج هي إضافات للوظيفة الأساسية لأباتشي. تبدأ كل وحدة معالجة متعددة عملية مختلفة للتعامل مع طلبات الخادم.

أحد الأمثلة على ذلك هو mpm-worker - وحدة نمطية تنشئ عمليات تتعامل مع مؤشرات ترابط متعددة. كل موضوع هو اتصال واحد للخادم. تسمح إضافة هذه الوحدة بتوسيع نطاق الخادم وتمكين إدارة كميات كبيرة من حركة المرور.

NGINX مختلفة ولا تنتج سوى عمليات عاملة لمعالجة الطلبات المتزامنة. هذه العمليات هي أحداث لا تحظر وتتحقق باستمرار من طلبات متعددة ومعالجتها. هذا الفحص المستمر يخلق حلقة. جميع الأحداث في الحلقة غير متزامنة وتتم إزالتها من الحلقة عند إغلاق الاتصال.

ما هو أفضل برنامج خادم ويب WordPress؟

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

كيفية تثبيت WordPress على Apache

لتثبيت WordPress على Apache ، ستحتاج إلى إعداد حزمة LAMP (Linux و Apache و MySQL و PHP). يتم ذلك بشكل عام على خادم Ubuntu.

الخطوة 1: قم بإنشاء مستخدم Sudo على الخادم الخاص بك

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

 $ adduser username

سيطالبك الخادم بتعيين كلمة المرور وتأكيدها. بعد ذلك ، املأ التفاصيل الخاصة بالمستخدم. ثم يمكنك توفير وصول sudo لهذا المستخدم. يسمح هذا الوصول للمستخدم بتنفيذ الأوامر التي يكملها عادةً المستخدم الجذر.

لإضافة المستخدم إلى مجموعة sudo ، أدخل الأمر التالي:

 $ usermod -aG sudo username

بعد ذلك ، سترغب في تسجيل الدخول إلى الخادم باعتبارك مستخدم sudo لبقية عملية التثبيت.

الخطوة الثانية: تثبيت خادم الويب Apache

لتثبيت Apache ، ستحتاج إلى استخدام مدير حزم أوبونتو apt . هذا هو الإعداد الافتراضي على خوادم Ubuntu. يؤدي إدخال الأمر sudo التالي إلى بدء التثبيت بعد إدخال كلمة المرور الخاصة بك:

 $ sudo apt update $ sudo apt install apache2

سترى بعد ذلك الحزم التي سيتم تثبيتها ومقدار مساحة القرص المطلوبة. اضغط على Y ثم Enter لبدء التثبيت.

الخطوة الثالثة: قم بتثبيت MySQL Database Server

بعد ذلك ، ستحتاج إلى تثبيت نظام إدارة قاعدة البيانات MySQL. سيبدأ الأمر التالي في مدير الحزم التثبيت:

 $ sudo apt install mysql-server

سيتم عرض الحزم ومساحة القرص المطلوبة مرة أخرى. لبدء التثبيت ، اضغط على Y واضبط كلمة مرور الجذر.

الخطوة الرابعة: تثبيت PHP

PHP هو جزء من حزمة LAMP التي تعالج التعليمات البرمجية إلى محتوى ديناميكي. لتثبيته ، يجب عليك إدخال الأمر التالي:

 $ sudo apt install php libapache2-mod-php php-mysql

يجب بعد ذلك تثبيت PHP دون أي مشاكل. ستحتاج إلى إعادة تشغيل الخادم لإكمال تثبيت المكدس. للقيام بذلك ، أدخل الأمر التالي:

 $ sudo systemctl restart apache2

تم الآن تثبيت حزمة LAMP وتكوينها.

الخطوة 5: إعداد Virtual Hosts

تقوم المضيفات الظاهرية بتغليف تفاصيل التكوين ، وهي خطوة موصى بها. يتيح لك التغليف استضافة أكثر من موقع ويب على الخادم.

يتم تعيين خوادم Apache بشكل افتراضي على الدلائل / var / www / html غير العملية لمواقع الويب المتعددة. لإنشاء مضيف افتراضي ، ستحتاج إلى إعداد بنية دليل في / var / www لمجال موقع الويب الجديد.

استخدم الأمر التالي لإنشاء هذا الهيكل:

 sudo mkdir /var/www/new_domain

قم بتغيير new_domain إلى مجال موقع الويب الخاص بك. ثم أنشئ ملف index.html بنموذج محتوى باستخدام الأمر nano :

 $ nano /var/www/new_domain/index.html

للتأكد من أن Apache يخدم المحتوى الخاص بك ، ستحتاج أيضًا إلى إنشاء ملف مضيف. يقوم الأمر التالي بإنشاء ملف التكوين:

 $ sudo nano /etc/apache2/sites-available/your_domain.conf

ثم أضف كتلة التكوين التالية:

 <VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

يقوم الأمر التالي بتمكين الملف ، بينما يقوم الأمر الثاني بتعطيل الموقع الافتراضي على الخادم:

 $ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf

يجب الآن تكوين المضيف الظاهري الخاص بك والعمل. يجب استخدام هذا الدليل الذي تم إنشاؤه حديثًا لتثبيت WordPress.

الخطوة السادسة: تثبيت WordPress

بعد تكوين حزمة LAMP الخاصة بك ، يمكنك تثبيت WordPress. قم بتنزيل أحدث إصدار من WordPress وقم بتثبيته باستخدام الأمر التالي:

 $ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql

بعد ذلك ، قم بتكوين Apache لـ WordPress وإنشاء قاعدة بيانات MySQL. ثم استخدم واجهة متصفح الويب WordPress لإكمال تكوين موقع الويب. يتضمن ذلك إنشاء عنوان موقع وتعيين كلمة مرور.

كيفية تثبيت WordPress على NGINX

لتثبيت WordPress على NGINX ، تحتاج إلى خادم يقوم بتشغيل أحد التوزيعات التي تدعمها وحدة NGINX. إذا كنت تستخدم Linux ، فسوف تقوم بإنشاء حزمة LEMU (Linux و NGINX و MySQL و NGINX Unit).

الخطوة 1: قم بتثبيت MySQL

قبل البدء ، قم بإنشاء مستخدم خادم له وصول sudo . قم بتسجيل الدخول إلى الخادم الخاص بك باعتبارك المستخدم الجذر ، واستخدم الأمر التالي لإنشاء حساب جديد:

 $ adduser username

ستحتاج إلى إدخال كلمة المرور وتأكيدها قبل ملء التفاصيل الخاصة بالمستخدم. ثم يمكنك توفير وصول sudo لهذا المستخدم. يمكّن هذا الوصول المستخدم من تنفيذ الأوامر التي يكملها عادةً المستخدم الجذر.

لإضافة المستخدم إلى مجموعة sudo ، أدخل الأمر التالي:

 $ usermod -aG sudo username

سجّل الدخول إلى الخادم باعتبارك مستخدم sudo ، واستخدم الأمر التالي لتثبيت MySQL:

 $ sudo apt-get install mysql-server

أدخل كلمة مرور جذر جديدة. يمكن بعد ذلك تشغيل أداة تكوين MySQL. هذا هو معالج التكوين الذي يرشدك خلال عملية التثبيت.

الخطوة الثانية: إنشاء قاعدة بيانات MySQL

بمجرد أن تصبح MySQL جاهزة ، يمكنك إنشاء قاعدة بيانات جديدة. ستحتاج أيضًا إلى إنشاء مستخدم جديد بإذن الإدارة. للقيام بذلك ، قم بتسجيل الدخول إلى حساب MySQL root وأدخل الأوامر التالية:

 $ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye

يتأكد أمر Flush Privileges من أن MySQL يتعرف على التغييرات التي أجريتها. يجب عليك تغيير اسم المستخدم وكلمة المرور الافتراضيين لمطابقة تفضيلاتك.

الخطوة الثالثة: تثبيت WordPress

قبل تثبيت WordPress ، يجب إنشاء موقع ملف مؤقت باستخدام الأمر التالي:

 $ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz

يقوم هذا الأمر أيضًا بتنزيل WordPress وفك ضغطه.

الخطوة 4: تكوين WordPress

بعد ذلك ، أنشئ نسخة من ملف تكوين WordPress وأعد تسميته باستخدام الأوامر التالية:

 $ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php

يمكنك تحديث مفاتيح SALT في الملف لتحسين الأمان. باستخدام nano ، يفتح ملف wp-config.php ، ويتيح لك البحث عن مفاتيح SALT:

 $ sudo nano wp-config.php

استبدل المفاتيح بأخرى تم إنشاؤها حديثًا ، ثم احفظ الملف واخرج منه.

الخطوة الخامسة: تثبيت PHP

بينما يمكنك استخدام NGINX Unit ، لا يزال يتعين عليك تثبيت PHP. يمكنك استخدام الأمر التالي للقيام بذلك:

 $ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt

هذا ضروري لأن WordPress يعتمد على العديد من الامتدادات التي لم يتم تضمينها في NGINX Unit.

الخطوة 6: قم بتثبيت وحدة NGINX

أخيرًا ، ستحتاج إلى تثبيت وحدة NGINX المترجمة مسبقًا لنظام تشغيل الخادم الخاص بك. استخدم الأمر التالي لتثبيت الوحدة النمطية لـ PHP:

 $ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/

تتحقق هذه الأوامر أيضًا من أن وحدة NGINX و PHP يعملان بشكل صحيح.

بعد ذلك ، تحتاج إلى تثبيت وتكوين NGINX Open Source. يمكنك تثبيت حزمة مسبقة الصنع من فرع الخط الرئيسي. وتشمل هذه أحدث الميزات والتصحيحات. بعد هذا التكوين ، سيكون WordPress جاهزًا للاستخدام.

استمر في التعلم مع WP Engine

يعد Apache و NGINX أكثر خيارات برامج خادم الويب شيوعًا. لكن في المعركة بين NGINX و Apache ، أيهما يأتي في المقدمة؟ في حين أنها متشابهة من نواح كثيرة ، فإن خادم NGINX يوفر أداءً أفضل لمواقع الويب عالية الحركة. ومع ذلك ، لدى Apache مجتمع أكبر به المزيد من الوثائق.

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

لمزيد من تحسين محركات البحث والموارد المتعلقة بالويب مثل تحسين WordPress وفهم أخطاء HTTP 400 ، تحقق من مركز الموارد لدينا لتحسين موقعك.