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

فهرس المحتويات
ما تحتاجه قبل البدء
النطاق ضروري لـ 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 عائمة يجعل تبديل blue/green بسيطًا، مما يتيح النشر بدون توقف.
- الجدار الناري المدمج واللقطات تتيح استعادة سريعة، وتحمي ميزانية الزحف من الانقطاعات.
أنشئ خطة تقريبًا 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 الخاصة بك.
- تكاليف متوقعة مع بصمة ثابتة لماكينة افتراضية منخفضة الأداء.
- استعادة سريعة باستخدام اللقطات بدلاً من التصحيح اليدوي.
- بنية تحتية قابلة لإعادة الإنتاج لـ 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
استخدام حزمة Microsoft يضمن تحديثات أمان تلقائية. ثبت 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 الخاص بك
ابنِ محليًا للإصدار ليشغل الخادم ملفات ثنائية مصغرة فقط. استخدم 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؛ حمّل صور البطل بشكل كسول وقم بتقليص JS للحفاظ على انخفاض زمن استجابة التفاعل.
راقب، وسّع، وحافظ على انخفاض التكاليف
- راقب سجلات journalctl وNginx؛ يجب ألا يحرق نشر فاشل ميزانية الزحف أو يعرض علامات مخططات قديمة.
- حافظ على قوائم السماح في UFW وفعّل fail2ban لوقف حركة المرور العنيفة التي تبطئ الزوار الحقيقيين.
- جدول لقطات شهرية ونسخ احتياطية خارج الموقع لتتمكن من التراجع بسرعة دون ترقية الخطة.
- عندما يزداد المرور، استنسخ اللقطة إلى خطة أكبر أو أضف عقدة ثانية خلف موازن تحميل.
هل أنت مستعد للتوسع؟ أطلق عقدة أخرى بـ تقريبًا 12 د.إ./شهر على UpCloud بنفس الصورة ووجّه المرور عبر Nginx أو موازن تحميل. افتح UpCloud وكرر الخادم.