مقدمة: لماذا نشر Swift على VPS؟
Swift ليس فقط لغة لتطبيقات iOS و macOS. بفضل إطار العمل Vapor والدعم الأصلي لنظام Linux، يمكنك إنشاء حلول خادم عالية الأداء باستخدام Swift. نشر مثل هذا التطبيق على VPS (خادم خاص افتراضي) يفتح إمكانيات لإنشاء واجهات برمجة تطبيقات خاصة بك، ومواقع ويب، وخدمات مصغرة.
في هذه المقالة، سنشرح دورة النشر الكاملة لتطبيق Swift على خادم بعيد يعمل بنظام Ubuntu 22.04. ستتعلم كيفية إعداد البيئة، تجميع المشروع، إعداد التشغيل التلقائي، وخادم الوكيل. الدليل مناسب للمبتدئين والمطورين ذوي الخبرة الذين يرغبون في تنظيم معرفتهم.
1. إعداد الخادم وتثبيت Swift
الخطوة الأولى هي استئجار VPS (نوصي بـ 2 نواة، 2 جيجابايت رام). بعد الاتصال عبر SSH، قم بتحديث النظام وتثبيت التبعيات.
1.1. الإعدادات الأساسية
ssh root@your-server-ipapt update && apt upgrade -yapt install curl git build-essential pkg-config libssl-dev zlib1g-dev -y1.2. تثبيت Swift Toolchain
بالنسبة لـ Ubuntu 22.04، استخدم التوزيعة الرسمية لـ Swift. تحقق من الإصدار الحالي على swift.org.
# تحميل Swift 5.9 (مثال)wget https://download.swift.org/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gz
# فك الضغطtar -xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzmv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swift
# إضافة إلى PATHecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
# التحققswift --version2. تجميع وإعداد التطبيق
لننظر في نشر تطبيق Vapor نموذجي. افترض أن مشروعك موجود بالفعل في مستودع Git.
2.1. الاستنساخ والبناء
cd /var/www/git clone https://github.com/your-username/your-repository.git myappcd myapp
# البناء في وضع Releaseswift build -c releaseبعد التجميع الناجح، سيكون الملف التنفيذي موجودًا في .build/release/Run. بالنسبة لـ Vapor، يتم استخدام المنفذ 8080 افتراضيًا.
2.2. التشغيل والاختبار
# تشغيل مؤقت (Ctrl+C للإيقاف).build/release/Run serve --hostname 0.0.0.0 --port 8080تحقق من العمل: افتح في المتصفح http://your-server-ip:8080. إذا رأيت ردًا، فكل شيء يعمل.
3. إعداد systemd للتشغيل التلقائي
لكي يعمل التطبيق تلقائيًا بعد إعادة تشغيل الخادم، سننشئ خدمة systemd.
3.1. إنشاء الخدمة
nano /etc/systemd/system/myapp.serviceأدخل الكود التالي (استبدل المسارات بمساراتك):
[Unit]Description=Swift Vapor ApplicationAfter=network.target
[Service]Type=simpleUser=www-dataGroup=www-dataWorkingDirectory=/var/www/myappExecStart=/var/www/myapp/.build/release/Run serve --hostname 127.0.0.1 --port 8080Restart=on-failureRestartSec=5
[Install]WantedBy=multi-user.target3.2. التفعيل والتشغيل
systemctl daemon-reloadsystemctl enable myappsystemctl start myappsystemctl status myappإذا كانت الحالة active (running)، فالخدمة تعمل. الآن سيبدأ التطبيق تلقائيًا.
4. إعداد Nginx و SSL (HTTPS)
خادم الوكيل Nginx ضروري لمعالجة الملفات الثابتة، التوازن، وإضافة شهادة SSL.
4.1. تثبيت Nginx
apt install nginx -y4.2. إعداد الوكيل
أنشئ ملف إعدادات لنطاقك أو IP الخاص بك:
nano /etc/nginx/sites-available/myappserver { listen 80; server_name your-domain.ru;
location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $ho