Skip to main content

استخدام Google App Engine مثل CDN

بواسطة معاذ أشملي- wait... مشاهدة/ 23 تعليق
استخدام Google App Engine مثل CDN
2017-02-12

السلام عليكم ورحمة الله وبركاته

محرك تطبيقات جوجل Google App Engine هو نظام جوجل الأساسي لتطوير التطبيقات واستضافتها. وللمعرفة المزيد قم بزيارة الصفحة الرئيسية Google App Engine. ما يهمنا في الخدمة هو استعمالها مثل خدمة توصيل المحتوى CDN فكا تعلمون سيرفرات جوجل تكون قوية وسريعة فلماذا لا نقوم باستغلالها و ساتطرق الى خطوات تحويل هذه الخدمة الى CDN بالتفصيل

هذه الطريقة قديمة تم كتابتها بتاريخ 21 اغسطس 2011 يمكنك استعمال cloudflare عوضا عنها او ربما اقوم بتجربة الخدمة من جديد واقوم بتحديث الشرح
معلومة بسيطة الخدمة تسمح لك فقط بعرض 5 مليون صفحة في الشهر و 5GB مساحة. عند انتهاء هذا العدد من ظهور الصفحات سيتم ايقاف عرض صفحاتك هذه الخدمة ينصح بها لاصحاب المدونات الصغيرة فقط من وجهة نظري

انشاء حساب Google App Engine

بالنسبة لانشاء حساب في خدمة Google App Engine  كل ما تحتاجه هو حساب Gmail وقم بتسجيل من الصفحة التالية Google App Engine  ثلات خطوات فقط اتبع الصور التالية :

GAE Sign up - مجلة ووردبريس
GAE signup email - مجلة ووردبريس

انشاء تطبيق في Google App Engine

بعد انشاء الحساب وذالك بتسجيل الدخول بواسطة حسابك gmail سيتم عرض عليك صفحة انشاء تطبيق جديد

GAE create app - مجلة ووردبريس

عند الضغط على Create Application سيتم توجيهك الى صفحة لتحقق من حسابك بواسطة الرسائل القصيرة كل ما عليك فعله هو ادخال رقم جوالك وقم بارساله بعدها ستستلم رسالة قصيرة على جوالك خلال ثواني معدودة ولكن تاكد من استعمال الارقام الخاصة بالدول مثلا انا من المغرب لدينا 212 .

GAE verify - مجلة ووردبريس
GAE authenticate - مجلة ووردبريس

بعد التفعيل سيتم عرض الصفحة التالية :

GAE createapp - مجلة ووردبريس

كما نلاحظ في الصورة نقوم باختيار الاسم التعريفي للتطبيق والتحقق من توفره هذا الاسم يكون مثل النطاق الفرعي في الاستضافات المجانية مثلا

http://mwordpress.appspot.com

بالنسبة للعنوان اكتب ما تشاء ولا تنسى ان تقوم بالموافقة على شروط الخدمة بعد قرائتها هذا ان كان لديك وقت لقرائتها المهم اضغط على انشاء التطبيق لكي ننتهي من هذه الخطوة  بعد ذالك سننتقل الى المرحلة التالية

تحميل وتركيب Google App Engine SDK و Python 2.5

في هذه المرحلة سنحتاج اولا تركيب Python وبالتحديد النسخة 2.5 او ما فوقها, لانها من متطلبات تشغيل Google App Engine SDK وطريقة التركيب سهلة بطبيعة الحال next الى اخره

python2 5 - مجلة ووردبريس

لتحميل النسخة 2.5.6 يرجى زيارة الصفحة التالية : Python Download Page

ثانيا نقوم بتركيب Google App Engine SDK والذي سنحتاجه فيما بعد لرفع احد المشاريع التي ستساعدنا في هذا الشرح المهم طريقة التركيب بسيطة كالعادة في ويندوز نقوم next الى اخره

GAE install SDK - مجلة ووردبريس

لتحميل النسخة 1.5.3 يرجى زيارة الصفحة التالية : Download Google App Engine SDK for Python

قبل الانتقال الى المرحلة يجب تركيب اولا Python  وبعد ذالك قم بتركيب Google App Engine SDK هذه الخطوة مهمة لكي تضمن اعداد CDN بشكل جيد

اضافة اسم نطاق خاص بنا ل Google App Engine

هذه الطريقة فقط اذا كنت تريد ان يظهر اسم موقع في التطبيق عوضا عن الرابط المقدم من طرف الخدمة مثال بسيط :

الرابط في الحالة العادية يكون بالشكل التالي :

http://mwordpress.appspot.com

سنقوم بتغيره الى

http://cdn.mwordpress.com

الطريقة طويلة تحتاج شوية وقت وتركيز لكي تقوم باضافة الدومين بشكل جيد صراحة ارهقتني قليلا في الاول بسبب اني اضفت النطاق الفرعي مباشرة وايضا اول مرة اجرب هذه الخدمة وايضا ما وجدت اي موقع عربي يتحدث عنها

عندما قمت بالتسجيل اول مرة كل الصفحة عرضت باللغة الفرنسية او الانجليزية لا ادكر المهم لان هذه المرة الثالت التي اقوم بها لتسجيل لعمل هذا الشرح لا ادري ما السبب الذي وقع حتى تغيرت لغة العرض في التسجيل  تبقى ملاحظة ليس الا المهم هي نفس الخطوات
google app engine add domain 001 - مجلة ووردبريسالان بعد قمت بانشاء التطبيق قم بالضغط عليه كما في

الصورة لننتقل الى لوحة تحكم التطبيق

google app engine add domain 0002 - مجلة ووردبريسمن

القائمة الموجودة على اليسار انزل الى الاسفل وبالتحديد من قائمة Administration قم بالضغط على Application settings

google app engine add domain 0003 - مجلة ووردبريس

في الاسفل ستجد خيار Domain setup كما مبين في الصورة اضغط عليه اضغط عليه

google app engine add domain 004 - مجلة ووردبريسالان يجب عليك ان تشترك في خدمة تطبقات جوجل.

الخدمة الاولى كانت فقط الاشتراك في محرك التطبيقات وهناك فرق بينهما لان ادخل في شرح هذا الفرق لانه سيطول الشرح اكثر من اللازم . اضغط على Sign up For Google App

google app engine add domain 005 - مجلة ووردبريس

كما في الصورة قم بادخال اسم نطاقك الرئيسي ولا تقم باضافة النطاق الفرعي لكي تقع في مشاكل تغيير Cname كما حصل معي واضطررت الى حذف التطبيق واعادة الطريقة مرة اخرى من الاول المهم بعدها ستنقل الى الصفحة التالية :

google app engine add domain 006 - مجلة ووردبريساملاء البيانات بما ينسبك بالنسبة للبريد

استعمل الذي قمت بادخاله عند اشتراك في خدمة محرك تطبيقات جوجل Google App Engine بالنسبة لنوع قم بادخال غير ربحي . الان بعد اتمام البيانات سيتم نقل الى الصفحة التالية :

google app engine add domain 007 - مجلة ووردبريس

هنا يجب عليك الانتباه قليلا لانه سيتم انشاء حساب المشرف لتطبيقات جوجل ببريد جديد ستحتاجه لهذا لا تنسى ان تحفظ هذا الحساب في مفكرة مع الباسوورد . البريد يكون بالشكل التالي :

webmaster@mwordpress.net

كل ما عليك الان هو ادخال اسم المستخدم مع كلمة مرور والموافقة على الشروط لكي ننتقل الى الصفحة التالية

google app engine add domain 008 - مجلة ووردبريس

هنا سنقوم بتغير الحساب الى الحساب الذي قمنا بانشاءه من جديد بعدها تنتقل تلقائيا  الى الصفحة التالية :

google app engine add domain 009 - مجلة ووردبريسالمهم هنا قم بالضغط على تنشيط Google App لكي

ننتقل الى صفحة اثبات الملكية :

google app engine add domain 010 - مجلة ووردبريسالان قم بتحميل الملف من جوجل

كما في الصورة وارفعه بواسطة ال FTP او Cpanel الى مجلد موقعك الرئيسي و قم بتصفحه لكي ترى اذا تم رفعه ام لا وبعد ذالك قم بتاكيد الملكية

google app engine add domain 011 - مجلة ووردبريسبعد التاكيد ستظهر لك رسالة نجاح اثبات الملكية كما

في الصورة الان ننتقل الخطة التالية ركز معي قليلا قم بالظغط على متابعة وقم بتجيل الخروج من تطبيقات جوجل

الان سنقوم بالدخول الى لوحة تحكم محرك تطيقات جوجل الاول وليس تطبيقات جوجل لكي ابين لك فرق بسيط بينهما لكي لا تتوه بين الخدمتين

  1. Google App Engine : نستعمل البريد Gmail العادي
  2. Google Apps : نستعمل بريد باسم نطاقك webmaster@sitename.com

هذا فرق بسيط بين الخدمتين

المهم بعد تسجيلك الخروج من لوحة تكم تطبيقات جوجل قم بزيارة رابط تطبيقك على Google App Engine

http://[your-application].appspot.com

وسجل الدخول بالبريد العادي gmail ومن لوحة تحكم التطبيق من القائمة الموجودة باليسار توجه الى الاسفل Administration ثم Application Settings وبعدها Domain Setup كما فعلنا في الاول

google app engine add domain 012 - مجلة ووردبريسالان قم باضافة النطاق بعدها سننتقل الى

صفحة تسجيل دخول Google Apps

google app engine add domain 018 - مجلة ووردبريسكما قلنا سابقا البريد الخاص بنطاقك

الذي قمنا بانشائه في الخطوات السابقة عند التسجيل في خدمة Google Apps قم بتسجيل الدخول باسم المسخدم وستنتقل تلقائيا الى الصفحة التالية :

google app engine add domain 013 - مجلة ووردبريسقم بوضع علامة

على الموافقة بعدها قم بتنشيط الخدمة الان سننتقل الى الصفحة التالية لاعدادات الطبيق الخاص بمحرك تطبيقات جوجل كما في الصورة التالية :

google app engine add domain 014 - مجلة ووردبريس

اضغط على اضافة عنوان URL جديد قم باضافة اسم نطاق فرعي مثلا cdn

google app engine add domain 015 - مجلة ووردبريس

بعد اضافة النطاق الفرعي ستظهر لك رسالة بالشكل التالي :

تغيير سجل CNAME لاستخدام عنوان URL cdn.free-themes-wordpress-arabic.cz.cc المخصص، يجب عليك تغيير سجل CNAME بواسطة مضيف نطاقك. تسجيل الدخول إلى خدمة استضافة نطاقك. انتقل إلى صفحة إدارة خدمة اسم النطاق (DNS). يختلف موقع واسم هذه الصفحة حسب المضيف، ولكن يمكن العثور عليها بشكلٍ عام في إدارة النطاق أو الإعدادات المتقدمة. ابحث عن إعدادات CNAME ثم أدخل الآتي كقيمة أو اسم مستعار CNAME: cdn قم بضبط جهة CNAME على العنوان التالي: ghs.google.com احفظ التغييرات مستعينًا بمضيف النطاق الخاص بك وانقر فوق “لقد أكملت هذه الخطوات” أدناه. عند الانتهاء، انقر فوق” لقد أكملت هذه الخطوات” لكي تقوم Google بفحص سجل CNAME.

لا تقم بالضغط على ” لقد أكملت هذه الخطوات” حتى نقوم بالخطوة التالية :

هنا ساضع الطريقة من خلال Cpanel قم بتسجيل الدخول الى لوحة تحكم وبعدها اختر Simple DNS zone Editor كما في الصورة التالية

google app engine add domain 016 - مجلة ووردبريس

بعدها استعمل اسم النطاق الفرعي الذي قمت بادراجه في اعدادات التطبيق كما في الصورة السابقة الان بعد اختيارك Simple DNS zone Editor اضف النطاق الفرعي اخاص بك كما في الصورة التالية واضغط Add CNAME Record

google app engine add domain 017 - مجلة ووردبريس

الان ارجع الى صفحة الرسالة السابقة وقم بالضغط على ” لقد أكملت هذه الخطوات” لكي تقوم Google بفحص سجل CNAME.

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

ملاحظة بالنسبة لنطاق الفرعي قد تستغرق مدة تحديث DNS مدة 24 ساعة

تركيب CirruxCache وشرح الاعدادات الازمة

cirruxcache - مجلة ووردبريس

الحمد لله لانه يوجد هذا المشروع CirruxCache للمبرمج Samuel Alba جزاه الله عن كل خير والمشروع يقوم بتوفير خدمة التخزين المؤقت للملفات الثابة على محرك تطبيق جوجل GAE وقد اختصر لنا بهذه الفكرة الكتير من العمل الشاق والتقليدي عندما تريد رفع ملفات ثابة الى Google App Engine في الحقيقة يوفر الكتير من العمل عن تجربتي الشخصية واعدادته سهلة ومن مميزاته انك تقوم بتركيبه وهو يقوم بالبحث في موقع عن الملفات التي تستعمل ويقوم باعادة توجيه الى التطبيق الخاص بك مثالا لو تم طلب الملف التالي :

http://mwordpress.net/wp-content/themes/themeNmae/style.css

سيتم عرض الملف (style.css) من التطبيق الخاص بنا في Google App Engine وليس فقط ملفات التنسيق بل كل الملفات الثابثة وحتى ملفات الفيديو

http://mwordpress.appspot.com/wp-content/themes/themeNmae/style.css

وبهذه الطريقة سيتم عرضه بسرعة من سيرفرات جوجل والتي تتميز بالمرونة والسرعة

واذا استعملت النطاق الفرعي ستعرض بهذه الطريقة :

http://cdn.mwordpress.net/wp-content/themes/themeNmae/style.css

وهذه بعض المعلومات عن ما يقوم به المشروع cirruxcache وهي كالتالي :

  1. honor Cache-Control
  2. cache TTL override
  3. several POP (Point Of Presence) configuration mapped on custom base-url
  4. ignore query string
  5. POST forwarding
  6. garbage collection of expired entries
  7. extensibility (develops your own WebServices on top)
  8. allow object flushing from restricted IP
  9. configure a POP (Point of Presence) according to a virtual host
  10. several behaviors (cache, redirect, forward)
  11. storage WebService (store big files <=2GB in order to be delivered)
  12. admin panel (flush objects, manage big files, statistics, config helper)
  13. image transformation (before caching it)

تحميل و اعداد CirruxCache

لتحميل المشرع كل ما عليك هو زيارة هذه الصفحة CirruxCache Downloads وقم بتحميل اخر نسخة

بعد تحميل النسخة قم بفك الضغط عنها وانسخ المجلد بالكامل الى المجلد الخاص ب Google App Engine SDK الذي قمنا بتنصيبه من قبل انا قم بتنصيبه في مجلد Programe Files لاحظ الصورة التالية :

cirruxcache path - مجلة ووردبريس

ولاحظ مسار ملفات ومجلدات المشروع كيف قمت بوضعها في مجلد CirruxCache لكي لا تقع في مشاكل كما صادفتني من قبل

cirruxcache path2 - مجلة ووردبريس

افتح الان ملف app.yaml لتغيير اسم التطبيق بالنسبة لشرح في الصورة الاولى عندما قمنا باختيار اسم التعريف لتطبيق كان الاسم cdn-mwp وانا في اخر الشرح ستجدني اسعملت cdnmwp لا تنظر الى الاسماء التي استعملها انا لانني قمت بتجريب الطريقة مرتين واخدت الصور مختلفة لشرح في ما يخص اسم  التطبيق الذي انشئته المهم قم بتغير اسم التطبيق في الملف الى اول اسم استعملته كما في الصورة الاولى في الشرح

application: appname

قم بتغيير السطر 19 فقط الى اسم تطبيقك

المهم الان سننتقل الى اعداد ملف config.py ل CirruxCache الملف ستجده داخل المجلد قم بفتحه باي محرر نصوص مثلا notepadd++ وقم بتغير الكود التالي :

urls["default"] = (
#"(/debug/.*)", "Debug",
"(/data/.*)", "config.Static",
"/www(/.*)", "config.Www"
)

الى

urls["default"] = (
"(/wp-content/.*)", "config.Static",
"(/wp-includes/.*)", "config.Static",
"/(.*)", "config.Www"
)

في هذه الحالة سيتم عرض جميع الملفات الثابة المخزنة في Google App Engine وبالتحديد الموجودة في المجلدين اللذين قمنا بتغييرهما wp-content و wp-includes بالنسبة لمستعملي ووردبريس

وايضا سنقوم بتغيير الكود التالي الخاص باعادة التوجيه والتخزين من :

class Static(cache.Service):
origin = "http://static.mydomain.tld"
maxTTL = 2592000 # 1 month
ignoreQueryString = True

class Www(cache.Service):
origin = "http://www.mydomain.tld"
allowFlushFrom = ["127.0.0.1"]
forceTTL = 3600 # 1 hour
ignoreQueryString = True
forwardPost = False

الى الكود التالي :

class Static(cache.Service):
origin = "http://sitename.com"
forceTTL = 2592000 # 1 month
allowFlushFrom = ["127.0.0.1"]
ignoreQueryString = True
forwardPost = False
headerBlacklist = ["Set-Cookie"]

class Www(redirect.Service):
origin = "http://sitenam.com"

المهم هنا قم بتغير sitename.com الى اسم نطاقك الرئيسي وليس الفرعي لكي لا تقع في مشكلة. احفظ الملف وسننتقل الخطوة التالية وهي رفع المشروع CirruxCache بعد التعديل الذي قمنا به الى التطبيق الخاص بنا بواسطة Google App Engine Launcher

الان قم بتشغيل Google App Engine Launcher

GAE Launcher add existin app - مجلة ووردبريس
GAE Launcher add existin app browser - مجلة ووردبريس
يمكن تغيير رقم البورت اذا كان مشغولا او كنت تسعمل جهازك كبروكسي لشبكة او اي استعمال اخر المهم انه يمكنك تغييره

تصفح مكان تواجد تطبيق CirruxCache بواسطة Google App Engine Launcher وقم باضافته بعدها سنقوم بالتالي ضع الفأرة على اسم التطبيق واضغط على Deploy كما في الصورة التالية :

GAE Launcher deploy cirruxcache - مجلة ووردبريس

بعد الضغط على Deploy قم بادخال بريدك وكلمة المرور وستظهر لك نافديتين واحدة سوداء والاخرى بيضاء (التفاصيل هههههه احكي قصة)

المهم واحدة تجد في رسالة بهذه الشكل :

2011-08-21 00:18:55 Running command: "['C:\\Python25\\python.exe', '-u', 'C:\\Program Files\\Google\\google_appengine\\appcfg.py', '--no_cookies', u'--email=xxxxx@gmail.com', '--passin', 'update', u'C:\\Program Files\\Google\\google_appengine\\CirruxCache']"
Application: name-of-your-application; version: 1
Host: appengine.google.com
Starting update of app: name-of-your-application, version: 1
Scanning files on local disk.
2011-08-21 00:19:19,427 WARNING appengine_rpc.py:435 ssl module not found.
Without the ssl module, the identity of the remote host cannot be verified, and
connections may NOT be secure. To fix this, please install the ssl module from
http://pypi.python.org/pypi/ssl .
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl .
Password for xxxx@gmail.com: Cloning 4 static files.
Cloning 39 application files.
Compilation starting.
Compilation completed.
Starting deployment.
Checking if deployment succeeded.
Will check again in 1 seconds.
Checking if deployment succeeded.
Will check again in 2 seconds.
Checking if deployment succeeded.
Deployment successful.
Checking if updated app version is serving.
Completed update of app: cdnmwp, version: 1
Uploading index definitions.
Uploading cron entries.
2011-08-21 00:19:50 (Process exited with code 0)

You can close this window now.

الان انتهينا من رفع تطبيق المشروع CirruxCache ال Google App Engine لكي تتأكد من ان الخدمة اصبحت جاهزة قم تجربت اي ملف من موقعك مثلا لدينا الصورة التالية :

http://mwordpress.net/wp-content/themes/1biztheme/images/ajax-loader.gif

نقوم بتجربتها هكذا :

http://localhost:8080/wp-content/themes/1biztheme/images/ajax-loader.gif

اذا ظهرت الصورة فالاعدادات لديك سليمة اي سننتقل الى الخطوة الاخيرة

تغيير روابط القالب والاضافات

هذه الطريقة اذا اردت ان تعملها يدويا ستكون مرهقة جدا فهناك العديد من الروابط في القالب والاضافات ولحسن الحظ توجد اضافتين ستساعدك في هذه الطريقة

WP Super Cache

هذه الاضافة كنت قد شرحتها هنا في هذه التدوينة من هنا بطبيعة الحال الاضافة تحتوي على خاصية ال CDN لاعادة كتابة جميع الروابط في الموقع وتغيرها الى رابط اخر المهم هذه هي الطريقة بكل بساطة نقوم باضافة رابط التطبيق او النطاق الفرعي الذي اضفناه الى التطبيق الخاص بنا كما في الصورة التالية ونقوم بحفظ الاعدادات

wp super cache cdn options - مجلة ووردبريس

CDN Linker lite

وتوجد ايضا هذه الاضافة في حالة لم تكن تستعمل WP super Cache تقوم ايضا بتغير رابط المدونة لجميع الملفات الموجودة في wp-content و wp-includes لم اجرب الاضاة من قبل وهذا رابط صفحتها على موقع WordPress.org

صفحة الاضافة CDN Linker lite

نهاية الارسال 😀

الى هنا  نكون قد انتهينا من الشرح التفصيلي لاستخدام استخدام Google App Engine مثل CDN . واتمنى ان تستفيدوا منه واذا كان هناك اي استفسار او نقص في الشرح يرجى وضع تعليق ؟ ولا تنسى الاشتراك في قائمتنا البريدية ولك جزيل الشكر

استخدام Google App Engine مثل CDN بواسطة مجلة ووردبريس, يمكنك نقل ومشاركة التدوينة مع ذكر المصدر الأصلي للموضوع ، مع رابطه, التدوينة مرخصة بموجب المشاع الابداعي Creative Commons A-NC-SA 3.0.

التعليقات23 تعليق

المرجوا الانتظار لتحميل التعليقات...
عرض التعليقات
اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


شروط التعليق :

1 - المرجوا الابتعاد عن كتابة تعليقات بنمط (يعطيك العافية)، (روعة)، (ممتاز)، (مشكوووور)، (ابداع).

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