Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Web Development

كيفية استخدام بقايا جديدة مع PHP ووردبرس]  

by
Difficulty:BeginnerLength:LongLanguages:
This post is part of a series called Performance Monitoring With New Relic.
Using New Relic to Monitor Your Android App
Optimizing Application Performance with New Relic for iOS
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Arabic (العربية/عربي) translation by ansgaradh (you can also view the original English article)

لقد تناولنا سابقًا كيفية إعداد تطبيق New Relic for a Rails ، بالإضافة إلى قضاء الكثير من الوقت في البحث عن كيفية استخدام واجهة مستخدم Relic الجديدة.   وعلى الرغم من أن واجهة المستخدم متشابهة للغاية بغض النظر عن اللغة والإطار الذي تستخدمه ، فإن الحصول على إعداد New Relic قد يكون مختلفًا جذريًا.  اليوم ، سننظر في كيفية مراقبة تطبيق PHP باستخدام New Relic. وبشكل أكثر تحديدًا ، سنقوم بإعداد تثبيت WordPress أساسي والحصول على بعض بيانات الأداء عنه ، في لوحات معلومات New Relic. 

الحصول على "بقايا جديدة" إعداد روبي بيئة ملحوظة جداً. نضيف ببساطة جوهر وكيل لتطبيقنا عند هذه النقطة بغض النظر عن كيفية نشر تطبيقنا ( Passenger + Apache، Thin + Nginx إلخ) ، ستقوم الأحجار الكريمة ببقية العمل لضمان حصولنا على مقاييس الأداء الخاصة بنا.  مع إصدار PHP للوكيل ، تكون البيئة أكثر أهمية ، حيث يتم تثبيت الوكيل وتعيش في المربع حيث سيتم نشر التطبيق ، بدلاً من أن تكون جزءًا من أي تطبيق معين. 

دعونا نضع صندوق رمل لنا للعب (باستخدام نسخة EC2 ) والحصول على تثبيت ووردبريس الأساسية وتشغيلها. 

إعداد رمل لدينا 

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

نحن بحاجة إلى إطلاق نسخة EC2 مع Ubuntu Server 12.04 LTS عليه. إذا كنت لا ترغب في إعداد مثيل EC2 ، فيمكنك فقط إنشاء جهاز ظاهري بدلاً من استخدامVirtualBox (أو أداة VM المفضلة لديك).  إذا كنت تقوم بإعداد نسخة EC2 ، فأنت بحاجة إلى تذكر القيام بما يلي: 

  • قم بتنزيل المفتاح الخاص بك (إذا قمت بإنشاء واحدة جديدة أثناء عملية الإعداد) ، بحيث يمكنك SSH في حالتك 
  • إضافة قاعدة إضافية لأي مجموعة الأمان التي تعطيها للمثيل الخاص بك السماح باتصالات HTTP إلى المثيل (حيث يمكننا فعلا الوصول إلى بلوق وورد عن طريق المستعرض في وقت لاحق)

وبصرف النظر عن ذلك ، يجب أن يكون كل شيء آخر مستقيمًا إلى الأمام تمامًا ، ويجب أن ينتهي بك الأمر مع مثيل تشغيل (أو جهاز افتراضي) جاهز للخطوة التالية. 

نحن الآن بحاجة إلى تثبيت Apache و PHP و MySQL . مع Ubuntu Server ، يجب أن يكون الأمر بسيطًا في تشغيل الأوامر التالية: 

ستحتاج إلى تحديد LAMP في واجهة المستخدم وستحتاج أيضًا إلى إدخال كلمة مرور MySQL عندما يُطلب منك ذلك (أتركها فارغة لأننا لا نهتم بأن يكون هذا الصندوق آمنًا بأي شكل من الأشكال). بمجرد اكتمال التثبيت ، يمكننا تشغيل بعض الأوامر للتأكد من تثبيت كل شيء دون حدوث أي مشاكل. 

تحقق أولاً من تثبيت Apache: 

ثانيًا ، تحقق من أن لدينا PHP: 

ثم تأكد من أن لدينا MySQL: 

قد نحتاج أيضًا إلى التحقق من أن PHP ممكّنة فعليًا في تكوين Apache الخاص بنا ، ولكن نظرًا لأننا قمنا بتثبيت خادم المصابيح باستخدام taskel ، فيمكننا أن نكون على يقين من أنه (ويمكننا دائمًا تنفيذ برنامج phpinfo () سريع إذا أردنا حقًا التحقق من). 

We can now install WordPress. Before we actually download it, we need to set up a database for it so. We can just follow theinstructions from the Codex

I am going to call our new installation myblog1 (so the database for it is also named myblog1). We now need to run the following commands to get our blog running (don't forget tosudo when necessary): 

الآن قم بملء اسم قاعدة البيانات واسم المستخدم وكلمة المرور في ملف التهيئة (اسم المضيف هو localhost والذي يوجد بشكل افتراضي). في هذه المرحلة ، يجب أن تكون قادراً على الذهاب إلى المستعرض الخاص بك ، اضغط على عنوان URL الصحيح (في حالتيhttp://ec2-107-20-122-116.compute-1.amazonaws.com/myblog1 ) وسيقوم WordPress بعمل شيء (قد لا يضر إعادة تشغيل Apache قبل القيام بإعادة تشغيل الخدمة sudo apache2 ). 

اكتمل الآن sandbox لدينا ويمكن أن نبدأ بتثبيت New Relic. 

تثبيت بقايا جديدة 

كما ذكرت سابقًا ، فإن وكيل PHP New Relic يتواجد على الصندوق ، ولذلك فمن المنطقي أنه يمكنك تثبيته باستخدام مدير حزم نظام التشغيل ( apt-get نظرًا لأننا نستخدم Ubuntu). أول شيء يجب القيام به هو استيراد مفتاح مستودع تخزين New Relic: 

الآن نضيف مستودع Relic الجديد نفسه إلى النظام: 

في هذه المرحلة ، يمكننا استخدام أوامر apt القياسية لتثبيت الوكيل: 

هذا يجلب حزمة عامل PHP من المستودع ويضع البرنامج النصي لتثبيت عامل على النظام.يسمى البرنامج النصي newrelic-install ويعيش في / usr / bin ، لذا يجب أن تكون قادرًا على الدخول من أي مكان.  البرنامج النصي أيضًا مسمى إلى حد ما ، حيث يمكنك استخدامه لتثبيت كل من New Relic وإزالته من نظامك. لتثبيت New Relic ، نحتاج إلى تشغيل: 

The script is interactive and will ask you to input your license key. You can find this by pressing the big red button when you're setting up a new PHP application within the New Relic UI. 

إذا كان لديك أكثر من تثبيت PHP على النظام الخاص بك ، فسيطلب منك أيضًا اختيار التثبيت الذي يجب تثبيت New Relic عليه (يمكنك اختيار أي عدد من المنشآت بما في ذلك جميعهم).  إذا كان لديك PHP واحد فقط على نظامك ، فسيستخدم البرنامج النصي ذلك فقط. تجدر الإشارة إلى أنه إذا كان إصدار PHP أقدم من الإصدار 5.2 ، فسيتم إنقاذ البرنامج النصي نظرًا لأن الإصدارات القديمة غير مدعومة. 

If everything goes well, you should see the following message: 

سيقوم البرنامج النصي بعد ذلك بطباعة بعض المعلومات الإضافية لك بما في ذلك موقع ملفات السجل: 

فضلا عن حقيقة أنك تحتاج إلى إعادة تشغيل خادم الويب الخاص بك (و PHP-FPM إذا كنت تستخدمه). 

If you do restart your server and tail the daemon log, you should see something like this: 

هناك شيء ما يسمى تطبيق PHP يقوم بالإبلاغ. هذا هو نوعًا ما عامًا ولا يبدو تمامًا مثل مدونة WordPress ، ولكنه بداية جيدة.  What this means is that all applications on your web server run and report as the same application to New Relic. This application has a default name of PHP Application

في حالتنا ، نظرًا لأننا لا نستخدم سوى تطبيق واحد (تم تثبيت WordPress) ، يمكننا بالفعل الانتقال إلى New Relic UI والحصول على إحصائيات معقولة لمدونتنا.  ولكن ، بالطبع ، نريد أن نعطي مدونتنا اسمًا أفضل وفي حالة الحاجة ، نريد أن يخدم خادمنا أكثر من تطبيق واحد.  نريد أيضًا معرفة كيفية فصل التطبيقات عن بعضها البعض. سننظر في كيفية القيام بذلك في وقت قريب ، ولكن قبل أن نفعل ذلك ، دعونا نرى ما يشكل في الواقع وكيل PHP. 

ما يبدو تركيب صحي 

هناك جزئين إلى وكيل New Relic PHP. الأول هو امتداد PHP ، إنه كائن مشترك يسمى newrelic.so . إذا نظرنا إلى ملف تهيئة الوكيل: 

يمكننا رؤيته مدرجًا في الجزء العلوي مباشرةً: 

هذا هو الشيء الذي سيجمع بالفعل الإحصائيات من تطبيقاتك ، لكنه لن يرسل الإحصائيات إلى New Relic ، هذه وظيفة خادم البرنامج الخفي. 

البرنامج الخفي الوكيل هو خادم بين ملحق PHP وخوادم New Relic. بشكل أساسي ، سيعطي تمديد PHP البيانات التي يجمعها إلى البرنامج الخفي وسيقوم البرنامج بتنفيذ أشياء مثل تجميعها وتحديد وقت إرسالها إلى الخادم.  يجب أن تتأكد دائمًا من تشغيل البرنامج ، وإلا لن يتم إرسال أي بيانات إلى New Relic.لحسن الحظ ، بشكل افتراضي ، كلما قمت بإعادة تشغيل الخادم الخاص بك ، سيحاول امتداد PHP اكتشاف ما إذا كان البرنامج قيد التشغيل وسيبدأ تشغيله ، إذا لم يكن كذلك. 

يحتوي برنامج تشغيل الوكيل الخفي على عمليتين. واحد هو عملية المراقبة والثاني هو العامل.  يقوم العامل فعلاً بالتواصل مع خوادم New Relic ، وتراقب عملية المراقبة ببساطة العامل ، وإذا مات العامل ، لأي سبب كان ، فسوف يولد واحدة جديدة. يمكنك إيقاف البرنامج عن طريق التشغيل: 

التي سترسل إشارة إيقاف إلى عملية المراقبة. ستقوم عملية المراقبة بعد ذلك بقتل عملية العمال ثم تغلق نفسها.  إذا احتجت في أي وقت أن تقتل الشيطان يدوياً ، تأكد من إنهاء عملية المراقبة أولاً قبل قتل العامل (وإلا سيحصل على عامل جديد - بشكل واضح). 

تكوين الوكيل (والوكيل الوكيل) v

 لقد رأينا بالفعل ملف تكوين عامل Relic PHP الجديد/etc/php5/cli/conf.d/newrelic.ini . يتم تكوين كل من البرنامج والبرنامج باستخدام هذا الملف. 

 هذا الملف موثق بشكل جيد مع جميع الخيارات وقيمه الافتراضية. دعونا نتحدث عن تنسيق هذا الملف. يمكن تكوين وكيل New Relic Ruby عبر YAML ، وهو تنسيق معروف جيدًا.  وكيل PHP هو مجرد ملف نصي ، ولكننا بحاجة إلى القليل من الهيكل. يحتوي كل متغير في الملف على أحد الأنواع الأربعة (String، Boolean، Number، Duration).  السلسلة والعدد هي تفسيرات لا يمكن تفسيرها ، يمكن أن تكون القيم المنطقية صحيحة ، أو في 1 للإشارة إلى الصدق والخطأ ، إيقاف أو صفر للإشارة إلى الكذب.   المدد عبارة عن سلاسل ذات تنسيق معين ، على سبيل المثال: يشير"1w3d23h10m" إلى أسبوع واحد وثلاثة أيام و 23 ساعة وعشر دقائق. يمكن أن تكون قيم الفترات حبيبية مثل microseconds. 

جميع المتغيرات في الملف لها أيضًا "نطاق". هناك ثلاثة نطاقات ممكنة: SYSTEM و PERDIR و SCRIPT. لا يمكن تعيين المتغيرات التي لها نطاق SYSTEM إلا في ملف التكوين العام.  يمكن تعيين المتغيرات ذات نطاق PERDIR في ملف التكوين العام ويمكن أيضًا تجاوزها على أساس كل دليل. يمكن أن تكون المتغيرات ذات نطاق البرنامج النصي عالمية ، لكل دليل ويمكن أيضًا تجاوزها برمجياً. 

على سبيل المثال ، يعد متغير التكوين الأكثر شيوعًا هو `newrelic.appname` .هذا المتغير هو نوع String ، ولديه قيمة افتراضية لتطبيق PHP (الآن نعرف لماذا رأينا تلك القيمة في ملف السجل بعد أن قمنا بتثبيت البرنامج وإعادة تشغيل الخادم).  نطاق هذا المتغير هو PERDIR الذي يعطينا فكرة حول كيفية تجاوز اسم التطبيق لمدونة WordPress الخاصة بنا. 

هناك العديد من المتغيرات الأخرى التي تتحكم في أشياء مثل موقع ملفات السجل ، سواءً تم تسجيل استعلامات SQL أم لا ، ومستوى السجل لمخرج السجل وما إلى ذلك. أشجعك على دراسة ملف newrelic.ini للتعرف على الخيارات. 

تكوين تطبيق منفصل لمدونة وورد الخاصة بنا 

نريد أن نرى تطبيقًا منفصلاً في واجهة مستخدم Relic الجديدة لمدونتنا على WordPress ، لذا دعنا نرى كيف يمكننا تحقيق ذلك.  تختلف خياراتك الخاصة بتكوين الدليل باختلاف مجموعتك ، إذا كنت تستخدم PHP-FPM ، فإن الخطوات مختلفة عما إذا كنت تستخدم Nginx. في حالتنا ، نظرًا لأننا نستخدم نظام Apache ، فلدينا خياران. 

أولاً ، إذا كان لدينا مضيف ظاهري لتطبيقنا ، فيمكننا إدراج كتلة IfModule في كتلة مضيفنا الظاهري وتعديل اسم التطبيق هناك: 

ولكن ليس لدي مضيف ظاهري خاص للمدونة ، لذلك فإن الخيار الآخر هو استخدام ملفhtaccess . تأكد من أنك تسمح بالفعل بملفات .htaccess ، عن طريق إغراق ما يلي في مضيفك الظاهري الرئيسي: 

يمكننا الآن وضع ملف .htaccess في دليل المستوى الأعلى لمدونتنا ووضع ما يلي فيه: 

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

و تطبيق PHP لا يزال هناك، ولكن الآن لديها صديق وليس لدينا وورد بلوق. وهنا في واجهة المستخدم: 

سنحصل الآن على مقاييس أثناء تصفح مدونتنا ، سواء للواجهة الأمامية أو واجهة الإدارة. بما أن New Relic يدعم WordPress خارج المربع ، فيجب تقسيم المقاييس بشكل معقول (عندما يكون إطار العمل غير مدعوم ، ستميل المقاييس إلى أن يتم جمعها معًا). 

تحديث الوكيل & الشيطان 

New Relic هو برنامج معقد ومن الجيد أن يتم تحديثه باستمرار حيث يتم إصلاح الأخطاء بشكل منتظم وإضافة ميزات جديدة.  نظرًا لأننا ثبّتنا كل شيء باستخدام apt-get ، فإن الحفاظ على تحديث الأمور أمر سهل. نحن ببساطة نقوم بنفس الشيء الذي قمنا به لتثبيته: 

إذا لم نقم بتثبيت PHP آخر على النظام ، فنحن نحتاج الآن ببساطة إلى إعادة تشغيل الخادم الخاص بنا وسنكون على علم بآخر المستجدات. إذا كان هناك PHP جديد ، فقد نحتاج إلى إعادة تشغيل البرنامج النصي لتثبيت newrelic . 

هناك واحد فقط التحذير من كل هذا.  في حالات معينة ، قد تقوم بتشغيل البرنامج الخفي بروكسي لـ New Relic بشكل منفصل عن العامل ، مما يعني أن إعادة تشغيل الخادم لا يقوم تلقائيًا بتشغيل البرنامج الخفي إذا لم يكن قيد التشغيل (وهذا ما يسمى وضع الخفي الخارجي).  قد يكون هناك العديد من الأسباب التي تجعلك ترغب في القيام بذلك ، على سبيل المثال ، قد ترغب في أن يمتلك مستخدم مختلف عملية daemon بحيث تكون السجلات مرئية فقط لهذا المستخدم.  في هذه الحالة ، يجب عليك تذكر إعادة كلا الملقمين وإعادة تشغيل البرنامج الخفي الوكيل. إذا لم تقم بذلك ، فسترى أخطاء "عدم تطابق البروتوكول" في السجلات. 

استنتاج 

كما ترى ، فإن الحصول على New Relic الذي تم إعداده لتطبيق PHP يختلف تمامًا عن إعداده لـ Ruby ، ​​حتى أن تطبيقك الفعلي لا يعالج العملية ، في حين أن البيئة التي تنتشر فيها هي مركزية. لحسن الحظ ، هذا يعني أنك إذا كنت تستخدم أي إطار PHP مدعوم ، فإن عملية إعداد New Relic هي نفسها تمامًا.  إلى جانب WordPress ، يتم دعم معظم أطر عمل PHP الشائعة بما في ذلك Cake وSymphony و Laravel (الإصدار 4 وما يليه ). من الممكن أيضًا استخدام New Relic بإطار غير مدعوم ، ولكن سيكون عليك بذل بعض الجهد الجاد للحصول على المقاييس المنطقية. 

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.