إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توفر "Azure App Service" خدمة استضافة ويب قابلة للتطوير بدرجة كبيرة وذاتية التصحيح باستخدام نظام التشغيل Linux.
يوضح هذا البرنامج التعليمي كيفية إنشاء ونشر نموذج تطبيق PHP إلى "Azure App Service"، ودمجه مع قاعدة بيانات Azure لخادم MySQL المرن في النهاية الخلفية. هنا ستستخدم اتصال الوصول العام (عناوين IP المسموح بها) في مثيل قاعدة بيانات Azure لـ MySQL Flexible Server للاتصال بتطبيق App Service.
ستتعلم في هذه البرنامج التعليمي كيفية:
- إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل MySQL
- توصيل تطبيق PHP بمثيل الخادم المرن لقاعدة بيانات Azure ل MySQL
- توزيع التطبيق إلى "Azure App Service"
- قم بتحديث التطبيق ثم أعد توزيعه
إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ. حاليا، باستخدام حساب Azure المجاني، يمكنك تجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا لمدة 12 شهرا. لمزيد من المعلومات، راجع استخدام حساب Azure المجاني لتجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا.
المتطلبات الأساسية
- تثبيت Git.
- واجهة سطر أوامر Azure.
- الاشتراك في Azure إذا لم تكن مشتركاً فيه، فأنشئ حساباً مجانيّاً على Azure قبل البدء. حاليا، باستخدام حساب Azure المجاني، يمكنك تجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا لمدة 12 شهرا. لمزيد من المعلومات، راجع استخدام حساب Azure المجاني لتجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا.
قاعدة بيانات Azure للخادم المرن في نظام MySQL
أولا، قم بتوفير مثيل خادم مرن لقاعدة بيانات Azure ل MySQL مع اتصال الوصول العام، وتكوين قواعد جدار الحماية للسماح للتطبيق بالوصول إلى الخادم، وإنشاء قاعدة بيانات إنتاج.
لمعرفة كيفية استخدام اتصال الوصول الخاص بدلا من ذلك وعزل موارد التطبيق وقاعدة البيانات في شبكة ظاهرية، راجع البرنامج التعليمي: توصيل تطبيق ويب App Services بقاعدة بيانات Azure ل MySQL - خادم مرن في شبكة ظاهرية.
إنشاء مجموعة موارد
مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. لنقم بإنشاء مجموعة موارد rg-php-demo باستخدام الأمر az-group-create في موقع centralus.
افتح موجه الأوامر.
سجّل الدخول إلى حساب Azure.
az loginاختر مُعرف اشتراك Azure الخاص بك.
az account set -s <your-subscription-ID>إنشاء مجموعة الموارد.
az group create --name rg-php-demo --location centralus
إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل MySQL
لإنشاء مثيل قاعدة بيانات Azure لـ MySQL Flexible Server مع اتصال الوصول العام، قم بتشغيل الأمر التالي az flexible-server create . استبدل القيم الخاصة بك لاسم الخادم واسم المستخدم المسؤول وكلمة المرور.
az mysql flexible-server create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --location centralus \ --admin-user <your-mysql-admin-username> \ --admin-password <your-mysql-admin-password>لقد أنشأت الآن مثيل خادم مرن لقاعدة بيانات Azure ل MySQL في منطقة CentralUS. يعتمد الخادم علىBurstable B1MS SKU، مع تخزين 32 جيجابايت، وفترة الاحتفاظ بالنسخ الاحتياطي لمدة 7 أيام وتم تكوينه مع اتصال الوصول العام.
بعد ذلك، لإنشاء قاعدة جدار حماية لمثيل قاعدة بيانات Azure لـ MySQL Flexible Server للسماح باتصالات العميل، قم بتشغيل الأمر التالي. عند تعيين كل من بدء IP وIP النهائي على 0.0.0.0، يمكن فقط لموارد Azure الأخرى (مثل تطبيقات App Services والأجهزة الظاهرية ومجموعة AKS وما إلى ذلك) الاتصال بقاعدة بيانات Azure لمثيل خادم MySQL المرن.
az mysql flexible-server firewall-rule create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --rule-name AllowAzureIPs \ --start-ip-address 0.0.0.0 \ --end-ip-address 0.0.0.0لإنشاء قاعدة بيانات Azure جديدة لقاعدة بيانات إنتاج MySQL Flexible Server sampledb لاستخدامها مع تطبيق PHP، قم بتشغيل الأمر التالي:
az mysql flexible-server db create \ --resource-group rg-php-demo \ --server-name <your-mysql-server-name> \ --database-name sampledb
إنشاء التطبيق الخاص بك
لتحقيق أهداف هذا البرنامج التعليمي، سنستخدم نموذج تطبيق PHP الذي يعرض كتالوج المنتجات ويديره. يوفر التطبيق وظائف أساسية مثل عرض المنتجات في الكتالوج وإضافة منتجات جديدة وتحديث أسعار العناصر الموجودة وإزالة المنتجات.
لمعرفة المزيد عن التعليمات البرمجية للتطبيق، اذهب واستكشف التطبيق في مستودع.GitHub. لمعرفة كيفية توصيل تطبيق PHP بقاعدة بيانات Azure لخادم MySQL المرن، راجع استخدام PHP مع قاعدة بيانات Azure ل MySQL - الخادم المرن.
في هذا البرنامج التعليمي، سننسخ تطبيق النموذج المشفر مباشرة ونتعلم كيفية توزيعه على"Azure App Service".
لنسخ نموذج مستودع التطبيق والتغيير إلى جذر أساس المستودع، شغّل الأوامر التالية:
git clone https://github.com/Azure-Samples/php-mysql-app-service.git cd php-mysql-app-serviceشغّل الأمر التالي للتأكد من أن الفرع الافتراضي هو
main.git branch -m main
قم بإنشاء وتكوين تطبيق"Azure App Service" Web
في "Azure App Service" (تطبيقات الويب أو تطبيقات واجهة برمجة التطبيقات أو تطبيقات الأجهزة المحمولة)، يتم تشغيل تطبيق دائمًا في خطة App Service. تحدد خطة «خدمة التطبيقات» مجموعة من موارد الحساب لتطبيق ويب لتشغيله. في هذه الخطوة، سننشئ خطة "Azure App Service" وتطبيق ويب App Service داخلها، والذي سيستضيف نموذج التطبيق.
لإنشاء خطة App Service في مستوى التسعير Free شغّل الأمر التالي:
az appservice plan create --name plan-php-demo \ --resource-group rg-php-demo \ --location centralus \ --sku FREE --is-linuxإذا أردت توزيع تطبيق إلى تطبيق ويب Azure باستخدام أساليب التوزيع مثل FTP أو Local Git، فأنت بحاجة إلى تكوين مستخدم توزيع باستخدام بيانات اعتماد اسم المستخدم وكلمة المرور. بعد تكوين مستخدم التوزيع، يمكنك الاستفادة منه لجميع عمليات توزيع "Azure App Service".
az webapp deployment user set \ --user-name <your-deployment-username> \ --password <your-deployment-password>لإنشاء تطبيق ويب App Service مع وقت تشغيل PHP 8.0 ولتكوين خيار توزيع Local Git لتوزيع تطبيقك من مستودع Git على الكمبيوتر المحلي، شغّل الأمر التالي. استبدل
<your-app-name>باسم تطبيق فريد عالمياً (الأحرف والرموز الصالحة هي a-z و0-9 و-).az webapp create \ --resource-group rg-php-demo \ --plan plan-php-demo \ --name <your-app-name> \ --runtime "PHP|8.0" \ --deployment-local-gitهام
في إخراج Azure CLI، يُعرض عنوان URL لـ Git البعيد في خاصية deploymentLocalGitUrlK بالتنسيق
https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. احفظ عنوان URL هذا حيث ستحتاج إليه لاحقًا.بعد ذلك سنقوم بتكوين إعدادات اتصال قاعدة بيانات قاعدة بيانات Azure لـ MySQL Flexible Server على تطبيق الويب.
يسترد الملف
config.phpالموجود في نموذج تطبيق PHP معلومات اتصال قاعدة البيانات (اسم الخادم واسم قاعدة البيانات واسم مستخدم الخادم وكلمة المرور) من متغيرات البيئة باستخدام الدالةgetenv(). في App Service، لتعيين متغيرات البيئة بصفتها إعدادات تطبيق (appsettings)، شّغل الأمر التالي:az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \ DB_DATABASE="sampledb" \ DB_USERNAME="<your-mysql-admin-username>" \ DB_PASSWORD="<your-mysql-admin-password>" \ MYSQL_SSL="true"بدلا من ذلك، يمكنك استخدام Service Connector لإنشاء اتصال بين تطبيق App Service ومثيل خادم قاعدة بيانات Azure لـ MySQL المرن. لمزيد من التفاصيل، راجع دمج قاعدة بيانات Azure لخادم MySQL المرن مع Service Connector.
انشر التطبيق الخاص بك باستخدام Local Git
الآن، سنقوم بتوزيع نموذج تطبيق PHP إلى "Azure App Service" باستخدام خيار توزيع Local Git.
نظرًا لأنك تقوم بتوزيع الفرع الرئيسي، فأنت بحاجة إلى تعيين فرع التوزيع الافتراضي لتطبيق App Service إلى "main". لتعيين "DEPLOYMENT_BRANCH" ضمن Application Settings، شغّل الأمر التالي:
az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DEPLOYMENT_BRANCH='main'تحقق من أنك في الدليل الجذر لمستودع التطبيق.
لإضافة Azure البعيد إلى مستودع Git المحلي، شغّل الأمر التالي. استبدل
<deploymentLocalGitUrl>عنوان URL الخاص بجهاز التحكم عن بُعد Git الذي قمت بحفظه في خطوة تطبيق الويب Create an App Service.git remote add azure <deploymentLocalGitUrl>لتوزيع التطبيق عن طريق إجراء
git pushإلى Azure البعيد، شغّل الأمر التالي. عندما يطالبك Git Credential Manager ببيانات الاعتماد، أدخل بيانات اعتماد التوزيع التي أنشأتها في خطوة تكوين مستخدم التوزيع.git push azure main
قد يستغرق النشر بضع دقائق للنجاح.
اختبار التطبيق الخاص بك
أخيرًا، اختبر التطبيق عن طريق الانتقال إلى https://<app-name>.azurewebsites.net، ثم أضف العناصر أو اعرضها أو حدثها أو احذفها من كتالوج المنتجات.
تهانينا! لقد نجحت في نشر نموذج تطبيق PHP إلى "Azure App Service" ودمجه مع قاعدة بيانات Azure لخادم MySQL المرن على النهاية الخلفية.
قم بتحديث التطبيق ثم أعد توزيعه
لتحديث تطبيق Azure، قم بإجراء تغييرات على التعليمات البرمجية الضرورية، وقم بتنفيذ جميع التغييرات في Git، ثم ادفع تغييرات التعليمات البرمجية إلى Azure.
git add .
git commit -m "Update Azure app"
git push azure main
وبمجرد اكتمال git push، انتقل إلى تطبيق Azure أو حدثه وجرب الأداء الوظيفي الجديد.
تنظيف الموارد
في هذا البرنامج التعليمي، قمت بإنشاء جميع موارد Azure في مجموعة الموارد. إذا لم تتوقع احتياجك لهذه الموارد في المستقبل، فاحذف مجموعة الموارد من خلال تشغيل الأمر التالي في Cloud Shell:
az group delete --name rg-php-demo