استضافة Blazor Server على UpCloud Linux لتطبيقات الإنتاج الصغيرة
استضف تطبيق Blazor Server جاهز للإنتاج على UpCloud Linux بتكلفة تقارب ثمن فنجان قهوة. يركز هذا الدليل على أساسيات SEO الحقيقية: عناوين URL مستقرة، HTTPS افتراضي، بيانات منظمة، وأداء متوقع على VPS بـ تقريباً 12 ر.س./شهر.
تحتاج إلى حساب UpCloud، نطاق أو نطاق فرعي مفعل بنظام DNS، ووصول SSH. فيما يلي كامل إعداد Blazor Server: إنشاء خطة تقريباً 12 ر.س.، تأمين أوبونتو، نشر التطبيق، وتشغيل Nginx مع Certbot لتوفير HTTPS صديق لمحركات البحث.
عرض UpCloud: تحصل أنت ونحن على 108 ر.س. كرصيد. سعر الاشتراك الشهري يبقى كما هو.

فهرس المحتويات
ما تحتاجه قبل البدء
النطاق ضروري لـ SEO وHTTPS. تفضل محركات البحث أسماء مضيف مستقرة، وشهادات Let's Encrypt تتطلب DNS. تأكد من توفر هذه العناصر قبل إعداد خادم UpCloud الخاص بك:
- نطاق أو نطاق فرعي يشير بالفعل إلى خادمك المستقبلي (مثلاً app.example.com) مع سجلات A/AAAA.
- حساب UpCloud مع خطة General Purpose بـ تقريباً 12 ر.س./شهر متاحة في منطقتك. تحقق من صفحة أسعار UpCloud
- مفتاح SSH جاهز للوصول بدون كلمة مرور؛ قم بتعطيل تسجيل الدخول بكلمة المرور بعد الإقلاع الأول للسلامة.
- SDK محلي لـ .NET 8 لنشر تطبيق Blazor Server قبل رفعه إلى الجهاز الافتراضي.
لماذا تناسب UpCloud إطلاق Blazor بـ تقريباً 12 ر.س./شهر
خطة UpCloud الأساسية سريعة بما يكفي للمستخدمين الحقيقيين وزواحف البحث مع الحفاظ على فواتير متوقعة. كل نقطة أدناه مرتبطة مباشرة بـ SEO ووقت التشغيل:
- سعر ثابت بـ تقريباً 12 ر.س./شهر مع عرض نطاق واسع سخي يحافظ على تكلفة مواقع الإنتاج الصغيرة والمعاينة معقولة.
- التخزين المدعوم بـ NVMe ومراكز البيانات العالمية يقللان من زمن الاستجابة الأولي - أحد أقوى إشارات SEO.
- IPv4/IPv6 أصلي مع عناوين IP عائمة يسهل تبديل البيئات دون توقف في الخدمة.
- الجدار الناري المدمج واللقطات تتيح استعادة سريعة، مما يحمي ميزانية الزحف من الانقطاعات.
أنشئ خطة تقريباً 12 ر.س./شهر على UpCloud
قم بإعداد الجهاز الافتراضي مرة واحدة واحتفظ بالسطح بسيطاً. كل خطوة أدناه تتجنب المفاجآت أثناء إصدار الشهادات والنشر المستقبلي:
- سجل في UpCloud، تحقق من الفوترة، واختر أصغر جهاز General Purpose في أقرب مركز بيانات.
- اختر أوبونتو 22.04 أو 24.04، أرفق مفتاح SSH، وأضف عنوان IP عائم إذا أردت تبديلات بدون توقف لاحقاً.
- اسمح فقط بـ SSH (22)، HTTP (80)، وHTTPS (443) في جدار حماية UpCloud؛ الباقي مغلق افتراضياً.
- خذ لقطة أولية قبل النشر لتتمكن من التراجع إذا حدث خطأ أثناء النشر.

احفظ لوحة تحكم UpCloud لإعادة البناء بسرعة إذا فشل النشر؛ إعادة التشغيل تحافظ على سعر تقريباً 12 ر.س./شهر.
تفضل CLI؟ استخدم API أو CLI الخاص بـ UpCloud لأتمتة إعادة البناء واللقطات، مما يحافظ على قابلية تكرار بيئة Blazor.
- تكاليف متوقعة مع استخدام ثابت لموارد VM منخفضة الأداء.
- استعادة سريعة باستخدام اللقطات بدلاً من التصحيح اليدوي.
- بنية تحتية قابلة لإعادة الإنتاج لـ Blazor من خلال عمليات إعادة البناء المبرمجة.
جهز أوبونتو وأمّن البيئة
حدّث النظام الأساسي، اضبط التوقيت UTC لتوحيد طوابع السجلات، وثبّت الأدوات الضرورية فقط. تصحيحات الأمان تقلل من نقاط الضعف وتحافظ على سرعة مصافحة TLS للزواحف.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget unzip apt-transport-https ca-certificates gnupg
sudo timedatectl set-timezone UTCأضف جدار حماية بسيط ليبقى الوصول مقتصراً على البروكسي العكسي وSSH فقط. حجب الباقي يمنع الروبوتات المزعجة من استهلاك المعالج ويحافظ على استقرار أوقات الاستجابة لـ SEO.
sudo apt install -y ufw fail2ban
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo systemctl enable --now fail2banثبت بيئة تشغيل وSDK .NET 8
استخدام حزمة مايكروسوفت يضمن تحديثات أمان تلقائية. ثبت SDK فقط إذا كنت تخطط للنشر مباشرة على الخادم.
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y aspnetcore-runtime-8.0 dotnet-sdk-8.0انشر وارفع تطبيق Blazor الخاص بك
ابنِ محلياً بوضع Release ليشغل الخادم ملفات ثنائية مصغرة فقط. استخدم rsync للحفاظ على الأذونات وتقليل وقت النقل؛ ومفاتيح SSH تحافظ على خصوصية النقل.
# Build locally
dotnet publish -c Release -o publish
# Copy to UpCloud (replace user@host)
rsync -avz publish/ user@YOUR_UPCLOUD_IP:/var/www/blazor-app/
# On the server, set ownership
sudo useradd -m -s /bin/bash blazorapp || true
sudo chown -R blazorapp:blazorapp /var/www/blazor-appشغّل Kestrel خلف systemd
اجعل Kestrel مرتبطاً بـ localhost ليصل إليه Nginx فقط. systemd يعيد تشغيل الخدمة تلقائياً ويحفظ السجلات في مكان واحد لتسهيل استكشاف أخطاء SEO بسرعة عند حدوث خلل.
اعرض التطبيق عبر Nginx وHTTPS
يقوم Nginx بإنهاء TLS، يخدم HTTP/2، ويوجه فقط حركة المرور النظيفة إلى Kestrel. Certbot يؤتمت شهادة TLS ليبقى كل صفحة قابلة للفهرسة وآمنة.
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d app.example.com --redirect --agree-tos -m [email protected]
sudo certbot renew --dry-runقائمة تحقق SEO لإطلاق Blazor سريع
- فرض HTTPS وHTTP/2، ضبط رؤوس التخزين المؤقت بدقة للأصول الثابتة، وتفعيل Brotli لتقليل حجم البيانات.
- استخدم روابط قابلة للقراءة البشرية وأقسام ثقافية عند الحاجة؛ عناوين URL المتسقة تساعد الزواحف على تجنب التكرار.
- أصدر JSON-LD (مقال + أسئلة متكررة) لكل دليل لظهور نتائج غنية على Google وBing.
- أضف بطاقات Open Graph وTwitter عبر مكون البيانات الوصفية ليظهر المعاينات بشكل صحيح على وسائل التواصل الاجتماعي.
- راقب مؤشرات Core Web Vitals؛ حمّل الصور الرئيسية بشكل كسول وقم بتقليل جافا سكريبت للحفاظ على انخفاض زمن التفاعل.
راقب، وسّع، وحافظ على انخفاض التكاليف
- راقب سجلات journalctl وNginx؛ يجب ألا يؤدي فشل النشر إلى استهلاك ميزانية الزحف أو عرض بيانات مخططات قديمة.
- حافظ على قوائم السماح في UFW وفعّل fail2ban لوقف حركة المرور الهجومية التي تبطئ الزوار الحقيقيين.
- جدول لقطات شهرية ونسخ احتياطية خارج الموقع لتتمكن من التراجع بسرعة دون ترقية الخطة.
- عند زيادة الحركة، استنسخ اللقطة إلى خطة أكبر أو أضف عقدة ثانية خلف موزع تحميل.
هل أنت مستعد للتوسع؟ أطلق عقدة أخرى بـ تقريباً 12 ر.س./شهر على UpCloud بنفس الصورة ووجّه الحركة عبر Nginx أو موزع تحميل. افتح UpCloud وكرر الخادم.