نشر تطبيق ASP.NET على Windows Server على Compute Engine

1. نظرة عامة

ASP.NET هو إطار عمل مفتوح المصدر على الويب لإنشاء تطبيقات وخدمات حديثة على الويب باستخدام ‎ .NET. ينشئ ASP.NET مواقع إلكترونية تستند إلى HTML5 وCSS وJavaScript، وهي بسيطة وسريعة ويمكن توسيع نطاقها لتشمل ملايين المستخدمين.

في هذا التمرين العملي، ستنشر تطبيق ASP.NET بسيطًا على Windows Server الذي يعمل على Compute Engine. يستند هذا الدرس التطبيقي حول الترميز إلى الدرس التطبيقي حول الترميز نشر Windows Server باستخدام إطار عمل ASP.NET على Compute Engine. ننصحك بإكمال هذا الدرس التطبيقي أولاً.

بالإضافة إلى ذلك، ستحتاج إلى Visual Studio 2013 أو إصدار أحدث لكتابة تطبيق ASP.NET ونشره على Compute Engine.

أهداف الدورة التعليمية

  • كيفية إنشاء تطبيق ASP.NET بسيط
  • كيفية تشغيل تطبيق ASP.NET محليًا في Visual Studio
  • كيفية نشر تطبيق ASP.NET وتشغيله على خادم Windows على Compute Engine

المتطلبات

كيف ستستخدم هذا البرنامج التعليمي؟

قراءة المحتوى فقط قراءة المحتوى وإكمال التمارين

ما هو تقييمك لتجربة استخدام Google Cloud Platform؟

مبتدئ متوسط متقدّم

2. الإعداد والمتطلبات

إعداد البيئة بالسرعة التي تناسبك

من المفترض أن يكون لديك مشروع Google Cloud Platform من المختبر السابق، لذا ليس عليك إنشاء مشروع جديد. سجِّل الدخول إلى وحدة تحكّم Google Cloud Platform‏ ( console.cloud.google.com) واختَر المشروع من الدرس العملي السابق.

3- تنزيل تطبيق ASP.NET

نزِّل النموذج كملف ZIP واستخرِج ملفاته.

يمكنك بدلاً من ذلك استنساخ مستودع git الخاص به.

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

في كلتا الحالتين، يجب أن يكون لديك مجلد getting-started-dotnet يتضمّن المحتوى التالي.

1acce2c66bc3b8aa.png

4. تشغيل التطبيق محليًا

انقر مرّتين على aspnet\1-hello-world\hello-world.sln. سيؤدي ذلك إلى فتح الحلّ في Visual Studio.

8a699ba7495ab79e.png

يمكنك الاطّلاع على WebApiConfig.cs. الذي يتضمّن معالج HTTP بسيطًا باسم HelloWorld.

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

في Visual Studio، اضغط على F5 لإنشاء التطبيق وتشغيله. بعد أن ينزّل Visual Studio تبعيات NuGet وينشئ التطبيق، من المفترض أن تظهر رسالة Hello World في المتصفّح.

77768b92a41434c2.png

بعد التأكّد من أنّ التطبيق يعمل على جهازك فقط، اضغط على Shift + F5 لإيقاف التطبيق.

5- نشر Windows Server باستخدام إطار عمل ASP.NET

في هذا القسم، سنتعرّف على كيفية إنشاء مثيل جديد لجهاز Google Compute Engine الافتراضي مع تثبيت Windows Server وASP.NET Framework باستخدام Cloud Marketplace من Google Cloud Console.

تسجيل الدخول إلى Google Cloud Console

انتقِل إلى Google Cloud Console من علامة تبويب متصفّح أو نافذة متصفّح أخرى على https://console.cloud.google.com. استخدِم بيانات تسجيل الدخول التي أعددتها عند الاشتراك في Google Cloud Platform أو تلك التي قدّمها لك مراقب الدرس.

f6cb1591046097da.png

في Google Cloud Console، انقر على رمز القائمة المنتجات والخدمات في أعلى يمين الشاشة:

32152624d878d9f8.png

بعد ذلك، انتقِل إلى Cloud Marketplace.

6c08c9a31e3a9c6c.png

البحث عن ASP.NET Framework

اكتب ASP.NET للبحث عن ASP.NET Framework، ثم انقر على مربّع النتائج أدناه.

d64d04962212c3c1.png

التشغيل على Compute Engine

في الشاشة التالية، انقر على تشغيل على Compute Engine.

هناك العديد من المَعلمات التي يمكنك ضبطها عند إنشاء آلة افتراضية جديدة. لنستخدِم ما يلي:

الاسم

gcelab

اسم عملية النشر

windows-aspnet-instance

المنطقة

europe-west1-dمزيد من المعلومات حول المناطق في مستندات المناطق والتقسيمات

نوع الآلة الافتراضية

1 vCPU (n1-standard-1)إنّ الجهاز الظاهري n1-standard-1 مناسب تمامًا لموقعنا الإلكتروني ASP.NET، إذ يتضمّن وحدة معالجة مركزية واحدة وذاكرة وصول عشوائي بسعة 3.75 غيغابايت. ومع ذلك، يمكنك اختيار أجهزة أصغر أو أكبر، وصولاً إلى 32 وحدة معالجة مركزية / 208 غيغابايت من ذاكرة الوصول العشوائي. يمكنك الاطّلاع على مزيد من المعلومات حول هذا الموضوع وأنواع الأجهزة المخصّصة في مستندات أنواع الأجهزة.ملاحظة: يتضمّن المشروع الجديد حصة موارد تلقائية قد تحدّ من عدد أنوية وحدة المعالجة المركزية. يمكنك طلب المزيد لمشاريعك.

إصدار نظام التشغيل Windows Server

2016

نوع قرص التشغيل

Standard persistent diskملاحظة: يمكنك اختياريًا اختيار محرك أقراص ذي حالة صلبة (SSD) أكثر فعالية. اطّلِع على خيارات مساحة التخزين.

حجم القرص بالغيغابايت

‫100 نستخدم القيمة التلقائية البالغة 100 غيغابايت، ولكن يمكنك تعديلها إلى قيمة أكبر أو أصغر حسب احتياجاتك.

جدار الحماية

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP trafficاحتفظ بالإعدادات التلقائية التي ستنشئ قواعد جدار الحماية للسماح بزيارات HTTP وHTTPS بالإضافة إلى زيارات WebDeploy وRDF.

انقر على تفعيل لإنشاء مثيل الجهاز الافتراضي الجديد باستخدام Windows Server وASP.NET Framework. سيتم توجيهك إلى صفحة جديدة يمكنك فيها الاطّلاع على مستوى التقدّم.

3276c6d3647fd36.png

بعد الانتهاء، انتقِل إلى Compute Engine من القائمة على يمين الصفحة، ثم اختَر مثيلات الأجهزة الافتراضية. من المفترض أن يظهر الجهاز الافتراضي الجديد في قائمة مثيلات الأجهزة الافتراضية.

fc50b1cfd8b1f4b3.png

إذا نقرت على عنوان IP خارجي، من المفترض أن يظهر لك أيضًا الموقع الإلكتروني التلقائي لخادم IIS الذي يتم عرضه من الجهاز.

iis.PNG

يُرجى العِلم أنّه يمكنك أيضًا استخدام "الاتصال عن بعد بين أجهزة الكمبيوتر" (RDP) للوصول إلى الجهاز، ولكن يجب أولاً إنشاء مستخدم وكلمة مرور لنظام التشغيل Windows.

6. إنشاء مستخدم وكلمة مرور في Windows

لإنشاء مستخدم وكلمة مرور على Windows، انقر على إنشاء كلمة مرور Windows أو إعادة ضبطها.

cf9b67269c4fa290.png

سيؤدي ذلك إلى فتح نافذة جديدة يمكنك من خلالها إنشاء مستخدم. احتفظ بالإعداد التلقائي وانقر على ضبط. بعد بضع ثوانٍ، من المفترض أن يظهر لك مربّع الحوار كلمة مرور جديدة على Windows مع كلمة المرور التي تم إنشاؤها حديثًا. دوِّن كلمة المرور لأنّك ستحتاج إليها في القسم التالي.

7. نشر التطبيق على Windows Server في Compute Engine

حان الوقت لنشر تطبيقك على Windows Server الذي يعمل على جهاز Compute Engine الافتراضي.

عليك أولاً العثور على عنوان IP الخارجي لمثيل Compute Engine الذي نشرته في نشر Windows Server مع إطار عمل ASP.NET على Compute Engine. في Cloud Console، انتقِل إلى Compute > "النسخ الافتراضية للأجهزة الافتراضية"، وابحث عن النسخة الافتراضية ودوِّن عنوان IP الخارجي الخاص بها.

8163b495fda4a4c5.png

الآن، ستحتاج إلى اسم مستخدم Windows وكلمة المرور اللذين أنشأتهما في الخطوة السابقة.

في مستكشف الحلول في Visual Studio، انقر بزر الماوس الأيمن على مشروعك واختَر نشر في قائمة السياق.

31dc67741553583e.png

في مربّع الحوار نشر الويب، اختَر مخصّص كهدف النشر.

في مربّع الحوار ملف تعريف مخصّص جديد، أدخِل اسمًا لملف النشر، ثم انقر على "موافق".

املأ ملفك الشخصي على النحو التالي.

الخوادم

The external IP address of your Compute Engine instance. This address can be found on the صفحة "الآلات الافتراضية" in the Cloud Console. The IP address is آلة افتراضية مؤقتة, which is sufficient for our purposes.

اسم الموقع الإلكتروني

Default Web Siteملاحظة: يجب أن يتطابق اسم الموقع الإلكتروني الذي تقدّمه هنا مع الاسم الذي يظهر في "مدير خدمات معلومات الإنترنت" على آلة Compute Engine الافتراضية.

اسم المستخدم

The username of the Windows user account you created on your Compute Engine instance.

كلمة المرور

The password of the Windows user account you created on your Compute Engine instance.

عنوان URL المقصود

http://ملاحظة: عنوان URL المقصود هو العنوان الذي يمكن الوصول إلى صفحتك من خلاله بعد تفعيلها.

انقر على التحقّق من صحة الربط للتأكّد من صحة المواقع.

5587e66e1f61acd6.png

بما أنّ عملية تثبيت Microsoft IIS في عملية النشر تستخدم شهادة موقّعة ذاتيًا تلقائيًا، سيظهر لك خطأ في الشهادة أثناء عملية التحقّق. ضَع علامة في المربّع حفظ هذه الشهادة لجلسات Visual Studio المستقبلية، ثم انقر على قبول لقبول الشهادة.

e7cc4bdef3064b9b.png

إذا كان الإعداد صالحًا، انقر على الإعدادات. انقر على خيارات نشر الملفات، وضَع علامة في مربّع الاختيار إزالة الملفات الإضافية في الوجهة. هذا الإعداد مهم للخطوات اللاحقة عند نشر مواقع ويب جديدة على مثيل Compute Engine نفسه.

1014554485ba6720.png

انقر على نشر لنشر التطبيق. بعد اكتمال عملية النشر، يفتح Visual Studio التطبيق في متصفّح الويب التلقائي.

feab07f5ac573240.png

8. تنظيف

هذا كل شيء! حان الوقت الآن لتنظيف الموارد التي استخدمتها (لتوفير التكاليف ولتكون مواطنًا صالحًا في السحابة الإلكترونية).

يمكنك حذف المثيلات أو إيقافها ببساطة، ولكن تذكَّر أنّ المثيلات المتوقّفة يمكن أن تتكبّد تكاليف متعلقة بالتخزين.

a3152ac7b76cdd4e.png

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

9- تهانينا!

‫Google Compute Engine هو الأساس الذي تستند إليه خدمة تأجير البنية التحتية (IaaS) في Google Cloud Platform. كما رأيت، من السهل جدًا نشر تطبيق ASP.NET على Windows Server في Compute Engine.

المواضيع التي تناولناها

  • كيفية إنشاء تطبيق ASP.NET بسيط
  • كيفية تشغيل تطبيق ASP.NET محليًا في Visual Studio
  • كيفية نشر تطبيق ASP.NET وتشغيله على خادم Windows على Compute Engine

الخطوات التالية

الترخيص

يخضع هذا العمل لترخيص المشاع الإبداعي مع نسب العمل إلى مؤلفه 2.0 Generic License.

/