VPS पर Swift एप्लिकेशन का डिप्लॉयमेंट: चरण-दर-चरण मार्गदर्शिका
Vapor फ्रेमवर्क का उपयोग करके Swift में सर्वर-साइड एप्लिकेशन विकसित करना लोकप्रिय हो रहा है। हालांकि, कोड लिखने के बाद सवाल उठता है: Swift एप्लिकेशन को रिमोट सर्वर पर कैसे होस्ट करें? इस लेख में, हम VPS (Ubuntu 22.04) पर Swift एप्लिकेशन को डिप्लॉय करने की पूरी प्रक्रिया को समझेंगे - आवश्यक घटकों की स्थापना से लेकर reverse proxy कॉन्फ़िगरेशन और production मोड में चलाने तक।
1. सर्वर तैयार करना और Swift स्थापित करना
सबसे पहले SSH के माध्यम से VPS से कनेक्ट करें और पैकेज बेस को अपडेट करें:
sudo apt update && sudo apt upgrade -ySwift को बिल्ड करने के लिए डिपेंडेंसी की आवश्यकता होती है। उन्हें स्थापित करें:
sudo apt install clang libicu-dev libcurl4-openssl-dev libssl-dev python3 pkg-config -yफिर Ubuntu के लिए 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इसे अनज़िप करें और /usr/share में ले जाएं:
tar xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzsudo mv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swiftSwift को PATH में जोड़ें। ~/.bashrc खोलें:
nano ~/.bashrcफ़ाइल के अंत में पंक्ति जोड़ें:
export PATH="/usr/share/swift/usr/bin:$PATH"परिवर्तन लागू करें:
source ~/.bashrcस्थापना की जाँच करें:
swift --versionSwift 5.9 का संस्करण प्रदर्शित होना चाहिए।
2. सर्वर पर Swift एप्लिकेशन (Vapor) बनाना
एप्लिकेशन के साथ रिपॉजिटरी को क्लोन करें या SCP के माध्यम से फ़ाइलों को कॉपी करें। उदाहरण के लिए, एक टेस्ट Vapor प्रोजेक्ट बनाएं:
mkdir ~/myapp && cd ~/myappswift package init --type executablePackage.swift में Vapor जोड़ें (न्यूनतम सर्वर का उदाहरण):
// swift-tools-version:5.9import PackageDescription
let package = Package( name: "myapp", platforms: [.macOS(.v13)], dependencies: [ .package(url: "https://github.com/vapor/vapor.git", from: "4.89.0") ], targets: [ .executableTarget(name: "myapp", dependencies: [ .product(name: "Vapor", package: "vapor") ]) ])फ़ाइल Sources/myapp/main.swift बनाएं:
import Vapor
let app = try Application(.detect())app.get { req in return "Hello, Swift on VPS!"}try app.run()प्रोजेक्ट को release मोड में बिल्ड करें:
swift build -c releaseबिल्ड के बाद, बाइनरी .build/release/myapp में होगी। इसे सुविधाजनक स्थान पर कॉपी करें:
cp .build/release/myapp /usr/local/bin/myapp3. reverse proxy के रूप में Nginx कॉन्फ़िगर करना
Swift एप्लिकेशन पोर्ट 8080 पर सुनेगा, और Nginx पोर्ट 80 (या HTTPS के लिए 443) से ट्रैफ़िक को रीडायरेक्ट करेगा। Nginx स्थापित करें:
sudo apt install nginx -yहमारे एप्लिकेशन के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं:
sudo nano /etc/nginx/sites-available/myappफ़ाइल की सामग्री:
server { listen 80; server_name your-domain.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; }}कॉन्फ़िगरेशन को सक्रिय करें और Nginx को पुनरारंभ करें:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl restart nginxअपने डोमेन के लिए DNS A रिकॉर्ड कॉन्फ़िगर करना न भूलें, जो VPS के IP पते की ओर इंगित करता हो।