نشر تطبيق Kotlin على VPS: دليل خطوة بخطوة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

نشر تطبيق Kotlin على VPS: دليل كامل خطوة بخطوة



تطوير تطبيق Kotlin هو نصف المهمة فقط. عاجلاً أم آجلاً، يطرح السؤال: كيف ننقل التطبيق من البيئة المحلية إلى خادم حقيقي؟ في هذه المقالة، سنشرح بالتفصيل نشر تطبيق Kotlin (باستخدام Spring Boot كمثال) على VPS. ستتعلم كيفية تجهيز الخادم، بناء ملف JAR، إعداد التشغيل التلقائي، وضمان اتصال آمن عبر HTTPS. هذا الدليل مناسب للمبتدئين والمطورين الذين يرغبون في تنظيم معرفتهم.



1. تجهيز VPS وتثبيت البرامج الضرورية



قبل تحميل الكود، يجب تجهيز الخادم. نوصي باستخدام Ubuntu 22.04 LTS أو أحدث. اتصل بالخادم عبر SSH:



ssh root@your-server-ip


قم بتحديث قاعدة الحزم وتثبيت Java (يتم ترجمة Kotlin إلى bytecode JVM، لذا نحتاج JDK 17 أو 21):



sudo apt update && sudo apt upgrade -ysudo apt install openjdk-17-jdk -yjava -version


تأكد من أن إصدار Java يتوافق مع بنائك. قم أيضاً بتثبيت Git (إذا كنت تستخدم مستودعاً) وأدوات للعمل مع الأرشيفات:



sudo apt install git unzip curl -y


للعمل مع مشروع Kotlin على الخادم، ليس من الضروري تثبيت مترجم Kotlin نفسه — سنقوم بالبناء محلياً أو عبر CI/CD. ومع ذلك، إذا كنت تخطط للترجمة على الخادم، أضف SDKMAN! و Kotlin:



curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk install kotlin


مهم: في هذه المرحلة، قم أيضاً بإعداد جدار الحماية (UFW) للأمان الأساسي:



sudo ufw allow OpenSSHsudo ufw allow 8080/tcp  # منفذ التطبيقsudo ufw enable


2. بناء تطبيق Kotlin ونقله إلى الخادم



لنفكر في مشروع نموذجي على Spring Boot مع Kotlin. قم ببناء ملف JAR محلياً (أو على الخادم إذا قمت باستنساخ المستودع). في جذر المشروع، نفذ:



./gradlew clean bootJar


أو، إذا كنت تستخدم Maven:



mvn clean package


بعد البناء، سيظهر في المجلد build/libs/ (Gradle) أو target/ (Maven) ملف باسم app-0.0.1-SNAPSHOT.jar. انسخه إلى الخادم باستخدام SCP:



scp build/libs/app-0.0.1-SNAPSHOT.jar root@your-ip:/opt/myapp/app.jar


أنشئ دليلاً للتطبيق على الخادم وانقل JAR:



sudo mkdir -p /opt/myappsudo mv app.jar /opt/myapp/


تحقق من أن JAR يعمل يدوياً:



cd /opt/myappjava -jar app.jar --server.port=8080


إذا تم تشغيل التطبيق واستجاب على المنفذ 8080 — فكل شيء على ما يرام. أوقفه (Ctrl+C) وانتقل إلى إعداد التشغيل الدائم.



3. إعداد systemd للتشغيل التلقائي والمراقبة



لكي يبدأ التطبيق تلقائياً عند إعادة تشغيل الخادم ويتعافى بعد الأعطال، سننشئ خدمة systemd. أنشئ ملفاً:



sudo nano /etc/systemd/system/kotlin-app.service


ألصق القالب التالي (استبدل المعلمات حسب تطبيقك):



[Unit]Description=Kotlin Spring Boot ApplicationAfter=network.target

[Service]Type=simpleUser=rootWorkingDirectory=/opt/myappExecStart=/usr/bin/java -jar /opt/myapp/app.jar --server.port=8080Restart=on-failureRestartSec=10StandardOutput=journalStandardError=journal

[Install]WantedBy=multi-user.target


أعد تحميل إعدادات systemd وابدأ الخدمة:



sudo systemctl daemon-reloadsudo systemctl start kotlin-appsudo systemctl status kotlin-app


إذا كانت الحالة active (running) — فكل شيء يعمل. أضف الخدمة إلى التشغيل التلقائي:



sudo systemctl enable kotlin-app

المدونات

توصيات الكتب