NGINX مقابل Apache: ما هو أفضل خادم ويب لـ WordPress؟
نشرت: 2023-02-12لتشغيل موقع ويب WordPress ، تحتاج إلى استضافته على خادم ويب. هذا هو ما يمكّن متصفحات الويب من طلب بيانات موقعك. ومع ذلك ، هناك العديد من خيارات خادم الويب ، والتي يمكن أن تجعل اختيار أحدها مهمة شاقة.
في حين أن هناك العديد من خوادم الويب للاختيار من بينها ، فإن Apache و NGINX هما أكثر الخيارات شيوعًا. ولكن أي من الاثنين هو أفضل خادم ويب؟
يتعامل هذان الخادمان مع أكثر من 50٪ من جميع زيارات الويب. على الرغم من أنها تشترك في العديد من الصفات ، إلا أن هناك اختلافات تحتاج إلى معرفتها والتي يمكن أن تساعدك في اختيار النوع المناسب لموقعك. في هذه المقالة ، سنناقش الاختلافات بين NGINX و Apache. سننظر بعد ذلك في كيفية تثبيت WordPress على كلا النوعين من الخوادم. هيا بنا نبدأ!
مقارنة الأداء: 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 ، تحقق من مركز الموارد لدينا لتحسين موقعك.