بدء التشغيل السريع: إنشاء تطبيق App Service باستخدام قالب ARM
ابدأ باستخدام Azure App Service من خلال توزيع تطبيق على السحابة باستخدام قالب Azure Resource Manager (قالب ARM) وAzure CLI في Cloud Shell. قالب Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. لا تتحمل أي تكاليف لإكمال هذا التشغيل السريع لأنك تستخدم طبقة App Service مجانية.
لإكمال هذا التشغيل السريع، ستحتاج إلى حساب Azure مع اشتراك نشط. إذا لم يكن لديك حساب Azure، يمكنك إنشاء حساب مجانا.
تخطي إلى النهاية
إذا كنت على دراية باستخدام قوالب ARM، يمكنك التخطي إلى النهاية عن طريق تحديد هذا الزر. يفتح هذا الزر قالب ARM في مدخل Microsoft Azure.
في مدخل Microsoft Azure، حدد Create new لإنشاء مجموعة موارد جديدة ثم حدد الزر Review + create لنشر التطبيق.
ابدأ باستخدام Azure App Service من خلال توزيع تطبيق على السحابة باستخدام قالب Azure Resource Manager (قالب ARM) وAzure CLI في Cloud Shell. قالب Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. لا تتحمل أي تكاليف لإكمال هذا التشغيل السريع لأنك تستخدم طبقة App Service مجانية.
لإكمال هذا التشغيل السريع، ستحتاج إلى حساب Azure مع اشتراك نشط. إذا لم يكن لديك حساب Azure، يمكنك إنشاء حساب مجانا.
تخطي إلى النهاية
إذا كنت على دراية باستخدام قوالب ARM، يمكنك التخطي إلى النهاية عن طريق تحديد هذا الزر. يفتح هذا الزر قالب ARM في مدخل Microsoft Azure.
في مدخل Microsoft Azure، حدد Create new لإنشاء مجموعة موارد جديدة ثم حدد الزر Review + create لنشر التطبيق.
ابدأ باستخدام Azure App Service من خلال توزيع تطبيق على السحابة باستخدام قالب Azure Resource Manager (قالب ARM) وAzure CLI في Cloud Shell. قالب Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. هناك حاجة إلى خطة متميزة لنشر تطبيق حاوية Windows. راجع صفحة تسعير App Service للحصول على تفاصيل التسعير.
تخطي إلى النهاية
إذا كنت على دراية باستخدام قوالب ARM، يمكنك التخطي إلى النهاية عن طريق تحديد هذا الزر. يفتح هذا الزر قالب ARM في مدخل Microsoft Azure.
في مدخل Microsoft Azure، حدد Create new لإنشاء مجموعة موارد جديدة ثم حدد الزر Review + create لنشر التطبيق.
مراجعة القالب
يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من Azure. وهي تنشر خطة App Service وتطبيق App Sevice على Windows. ومتوافقة مع تطبيقات .NET Core و.NET Framework وPHP وNode.js وHTML الثابت. بالنسبة إلى Java، راجع إنشاء تطبيق Java.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16144177164140676603"
}
},
"parameters": {
"webAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web app name."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"sku": {
"type": "string",
"defaultValue": "F1",
"metadata": {
"description": "The SKU of App Service Plan."
}
},
"language": {
"type": "string",
"defaultValue": ".net",
"allowedValues": [
".net",
"php",
"node",
"html"
],
"metadata": {
"description": "The language stack of the app."
}
},
"helloWorld": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "true = deploy a sample Hello World app."
}
},
"repoUrl": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "Optional Git Repo URL"
}
}
},
"variables": {
"appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]",
"gitRepoReference": {
".net": "https://github.com/Azure-Samples/app-service-web-dotnet-get-started",
"node": "https://github.com/Azure-Samples/nodejs-docs-hello-world",
"php": "https://github.com/Azure-Samples/php-docs-hello-world",
"html": "https://github.com/Azure-Samples/html-docs-hello-world"
},
"gitRepoUrl": "[if(bool(parameters('helloWorld')), variables('gitRepoReference')[toLower(parameters('language'))], parameters('repoUrl'))]",
"configReference": {
".net": {
"comments": ".Net app. No additional configuration needed."
},
"html": {
"comments": "HTML app. No additional configuration needed."
},
"php": {
"phpVersion": "7.4"
},
"node": {
"appSettings": [
{
"name": "WEBSITE_NODE_DEFAULT_VERSION",
"value": "12.15.0"
}
]
}
}
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2023-01-01",
"name": "[variables('appServicePlanPortalName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('sku')]"
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2023-01-01",
"name": "[parameters('webAppName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"siteConfig": "[variables('configReference')[parameters('language')]]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
"httpsOnly": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
]
},
{
"condition": "[contains(variables('gitRepoUrl'), 'http')]",
"type": "Microsoft.Web/sites/sourcecontrols",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
"properties": {
"repoUrl": "[variables('gitRepoUrl')]",
"branch": "master",
"isManualIntegration": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
]
}
]
}
يتم تعريف موردين لـ Azure في القالب:
- Microsoft.Web/serverfarms: إنشاء خطة App Service.
- Microsoft.Web/sites: إنشاء خطة App Service.
يحتوي هذا القالب على العديد من المعلمات المعرفة مسبقًا لراحتك. راجع الجدول الخاص بالإعدادات الافتراضية للمعلمة ووصفها:
المعلمات | نوع | القيمة الافتراضية | الوصف |
---|---|---|---|
webAppName | سلسلة | webApp-<uniqueString> |
اسم التطبيق استنادا إلى قيمة سلسلة فريدة |
appServicePlanName | سلسلة | webAppPlan-<uniqueString> |
اسم خطة خدمة التطبيقات استنادا إلى قيمة سلسلة فريدة |
الموقع | سلسلة | [resourceGroup().location] |
منطقة التطبيق |
sku | سلسلة | F1 |
حجم المثيل (F1 = المستوى المجاني) |
اللغة | سلسلة | .NET |
حزمة لغات البرمجة (NET، php، node، html.) |
helloWorld | boolean | False |
صحيح = نشر تطبيق "Hello World" |
repoUrl | سلسلة | |
تقرير Git الخارجي (اختياري) |
يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من Azure. وهي تنشر خطة App Service وتطبيق App Service على Linux. ومتوافقة مع جميع لغات البرمجة المدعومة في App Service.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "10602523904429381366"
}
},
"parameters": {
"webAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web app name."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"sku": {
"type": "string",
"defaultValue": "F1",
"metadata": {
"description": "The SKU of App Service Plan."
}
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "DOTNETCORE|3.0",
"metadata": {
"description": "The Runtime stack of current web app"
}
},
"repoUrl": {
"type": "string",
"defaultValue": " ",
"metadata": {
"description": "Optional Git Repo URL"
}
}
},
"variables": {
"appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]"
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-02-01",
"name": "[variables('appServicePlanPortalName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('sku')]"
},
"kind": "linux",
"properties": {
"reserved": true
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2021-02-01",
"name": "[parameters('webAppName')]",
"location": "[parameters('location')]",
"properties": {
"httpsOnly": true,
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]",
"minTlsVersion": "1.2",
"ftpsState": "FtpsOnly"
}
},
"identity": {
"type": "SystemAssigned"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
]
},
{
"condition": "[contains(parameters('repoUrl'), 'http')]",
"type": "Microsoft.Web/sites/sourcecontrols",
"apiVersion": "2021-02-01",
"name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
"properties": {
"repoUrl": "[parameters('repoUrl')]",
"branch": "master",
"isManualIntegration": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
]
}
]
}
يتم تعريف موردين لـ Azure في القالب:
- Microsoft.Web/serverfarms: إنشاء خطة App Service.
- Microsoft.Web/sites: إنشاء خطة App Service.
يحتوي هذا القالب على العديد من المعلمات المعرفة مسبقًا لراحتك. راجع الجدول الخاص بالإعدادات الافتراضية للمعلمة ووصفها:
المعلمات | نوع | القيمة الافتراضية | الوصف |
---|---|---|---|
webAppName | سلسلة | webApp-<uniqueString> |
اسم التطبيق استنادا إلى قيمة سلسلة فريدة |
appServicePlanName | سلسلة | webAppPlan-<uniqueString> |
اسم خطة خدمة التطبيقات استنادا إلى قيمة سلسلة فريدة |
الموقع | سلسلة | [resourceGroup().location] |
منطقة التطبيق |
sku | سلسلة | F1 |
حجم المثيل (F1 = المستوى المجاني) |
linuxFxVersion | سلسلة | DOTNETCORE|3.0 |
"حزمة لغات البرمجة | الإصدار" |
repoUrl | سلسلة | |
تقرير Git الخارجي (اختياري) |
يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من Azure. يقوم بنشر خطة App Service وتطبيق App Service على حاوية Windows.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "10193476814580854111"
}
},
"parameters": {
"appServiceWebAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web App name."
}
},
"appServicePlanName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "App Service Plan name."
}
},
"skuTier": {
"type": "string",
"defaultValue": "P1v3"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2023-01-01",
"name": "[parameters('appServiceWebAppName')]",
"location": "[parameters('location')]",
"tags": {
"[format('hidden-related:{0}', resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName')))]": "empty"
},
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "PORT",
"value": "8080"
}
],
"appCommandLine": "",
"windowsFxVersion": "DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp"
},
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
]
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2023-01-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('skuTier')]"
},
"kind": "windows",
"properties": {
"hyperV": true
}
}
]
}
يتم تعريف موردين لـ Azure في القالب:
- Microsoft.Web/serverfarms: إنشاء خطة App Service.
- Microsoft.Web/sites: إنشاء خطة App Service.
يحتوي هذا القالب على العديد من المعلمات المعرفة مسبقًا لراحتك. راجع الجدول الخاص بالإعدادات الافتراضية للمعلمة ووصفها:
المعلمات | نوع | القيمة الافتراضية | الوصف |
---|---|---|---|
webAppName | سلسلة | webApp-<uniqueString> |
اسم التطبيق استنادا إلى قيمة سلسلة فريدة |
appServicePlanName | سلسلة | webAppPlan-<uniqueString> |
اسم خطة خدمة التطبيقات استنادا إلى قيمة سلسلة فريدة |
الموقع | سلسلة | [resourceGroup().location] |
منطقة التطبيق |
skuTier | سلسلة | P1v3 |
حجم المثيل (عرض وحدات SKU المتوفرة) |
التطبيق الإعدادات | سلسلة | [{"name": "PORT","value": "8080"}] |
منفذ الاستماع ل App Service. يجب أن يكون 8080. |
النوع | سلسلة | windows |
نظام تشغيل |
ارتفاع ضغط الدم | سلسلة | true |
وضع العزل |
windowsFxVersion | سلسلة | DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp |
صورة الحاوية |
نشر القالب
يتم استخدام Azure CLI هنا لنشر القالب. يمكنك أيضًا استخدام مدخل Azure وAzure PowerShell وREST API. لمعرفة طرق النشر الأخرى، راجع نشر القوالب.
تقوم التعليمات البرمجية التالية بإنشاء مجموعة موارد وخطة App Service وتطبيق ويب. تم تعيين مجموعة موارد وخطة App Service وموقع بشكلٍ افتراضي لك. استبدل <app-name>
باسم تطبيق فريد عالميًا (الأحرف الصالحة هي a-z
و 0-9
و-
).
قم بتشغيل الأوامر التالية لنشر تطبيق .NET framework على Windows.
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup \
--parameters language=".NET" helloWorld="true" webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows/azuredeploy.json"
قم بتشغيل الأوامر التالية لإنشاء تطبيق Python على Linux:
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup --parameters webAppName="<app-name>" linuxFxVersion="PYTHON|3.9" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-linux/azuredeploy.json"
لنشر بنية تخزين لغة مختلفة، قم بتحديث linuxFxVersion
باستخدام القيم المناسبة. تظهر العينات في الجدول. لإظهار الإصدارات الحالية، قم بإجراء الأمر الآتي على Cloud Shell: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion
اللغة | مثال |
---|---|
NET. | linuxFxVersion="DOTNETCORE|3.0" |
Php | linuxFxVersion="PHP|7.4" |
Node.js | linuxFxVersion="NODE|10.15" |
Java | linuxFxVersion="JAVA|1.8 |TOMCAT|9.0" |
Python | linuxFxVersion="PYTHON|3.7" |
قم بتشغيل الأوامر التالية لنشر تطبيق .NET على حاوية Windows.
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup \
--parameters webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows-container/azuredeploy.json"
إشعار
يمكنك العثور على مزيد من نماذج قالب Azure App Service هنا.
التحقُّق من صحة عملية النشر
استعرض http://<app_name>.azurewebsites.net/
للتحقق من أنه تم إنشاؤه.
تنظيف الموارد
احذف مجموعة الموارد في حالة عدم الحاجة إليها.
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ