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

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

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

ابدأ الدورة

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



تطوير تطبيقات الخادم باستخدام Swift يكتسب شعبية متزايدة بفضل إطار العمل Vapor. ومع ذلك، يواجه العديد من مطوري iOS/macOS صعوبات عند نقل التطبيق الجاهز إلى خادم بعيد. في هذا الدليل، سنشرح بالتفصيل كيفية نشر تطبيق Swift على VPS، وإعداد البيئة، وضمان تشغيل مستقر في بيئة الإنتاج.



1. إعداد خادم VPS لـ Swift



الخطوة الأولى هي استئجار VPS (يوصى باستخدام Ubuntu 22.04 LTS) والاتصال به عبر SSH. بعد تسجيل الدخول، قم بتحديث النظام:



sudo apt update && sudo apt upgrade -ysudo apt install curl git clang libicu-dev libcurl4-openssl-dev libssl-dev -y


لتثبيت Swift على Linux، استخدم النص الرسمي من Apple:



wget https://swift.org/builds/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gztar xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzsudo mv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swiftecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrcswift --version


تحقق من تثبيت Swift بشكل صحيح — يجب أن ترى إصدار المترجم.



2. بناء تطبيق Swift (Vapor) على الخادم



انسخ الكود المصدري لمشروعك إلى الخادم. الأسهل هو استخدام Git:



git clone https://github.com/مشروعك/مستودعك.gitcd مستودعك


قم ببناء المشروع في وضع الإصدار. هذا سينشئ ملفًا ثنائيًا محسنًا:



swift build -c releasecp .build/release/Run /usr/local/bin/myapp


إذا كنت تستخدم Vapor، تأكد من ضبط المنفذ الصحيح في ملف configure.swift (عادةً 8080). مثال على التكوين:



import Vapor

public func configure(_ app: Application) throws { app.http.server.configuration.hostname = "0.0.0.0" app.http.server.configuration.port = 8080 // تسجيل المسارات try routes(app)}


تحقق من عمل التطبيق عن طريق تشغيله يدويًا:



myapp --env production serve


إذا تم تشغيل التطبيق واستجاب للطلبات، يمكنك الانتقال إلى إعداد الخدمة الخلفية.



3. إعداد systemd للتشغيل التلقائي



لكي يتم تشغيل التطبيق تلقائيًا عند إعادة تشغيل الخادم، قم بإنشاء خدمة systemd:



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


أدخل الكود التالي:



[Unit]Description=Swift Vapor ApplicationAfter=network.target

[Service]Type=simpleUser=www-dataWorkingDirectory=/var/www/myappExecStart=/usr/local/bin/myapp --env production serveRestart=on-failureRestartSec=10

[Install]WantedBy=multi-user.target


احفظ الملف وقم بتفعيل الخدمة:



sudo systemctl daemon-reloadsudo systemctl enable swift-appsudo systemctl start swift-appsudo systemctl status swift-app


إذا أظهرت الحالة active (running) — فكل شيء يعمل.



4. إعداد Nginx كوكيل عكسي



لبيئة الإنتاج، يوصى باستخدام Nginx لتوجيه الطلبات إلى تطبيق Swift. هذا يضمن موازنة الحمل ودعم SSL:



sudo apt install nginx -ysudo nano /etc/nginx/sites-available/swift-app


مثال على التكوين:



server {    listen 80;    server_name نطاقك.com;

location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }

location /static/ { root /var/www/myapp/Public; expires 3

المدونات

توصيات الكتب