VPS पर Swift एप्लिकेशन डिप्लॉय करना: चरण-दर-चरण निर्देश
Vapor फ्रेमवर्क की बदौलत Swift में सर्वर एप्लिकेशन डेवलपमेंट तेजी से लोकप्रिय हो रहा है। हालांकि, कई iOS/macOS डेवलपर्स को तैयार एप्लिकेशन को रिमोट सर्वर पर ट्रांसफर करने में कठिनाइयों का सामना करना पड़ता है। इस गाइड में हम विस्तार से समझेंगे कि Swift एप्लिकेशन को VPS पर कैसे डिप्लॉय करें, एनवायरनमेंट कैसे सेट करें और production-एनवायरनमेंट में स्थिर संचालन कैसे सुनिश्चित करें।
1. Swift के लिए VPS सर्वर तैयार करना
पहले चरण में 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 -yLinux पर Swift इंस्टॉल करने के लिए 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 सेटअप करना
production-एनवायरनमेंट के लिए Swift एप्लिकेशन पर रिक्वेस्ट प्रॉक्सी करने हेतु Nginx का उपयोग करने की अनुशंसा की जाती है। यह लोड बैलेंसिंग और 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