VPS पर C# एप्लिकेशन का डिप्लॉयमेंट: A से Z तक चरण-दर-चरण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: C# एप्लिकेशन के लिए VPS आदर्श समाधान क्यों है?

\n

C# और .NET प्लेटफॉर्म पर डेवलपमेंट अब केवल Windows सर्वरों का विशेषाधिकार नहीं रह गया है। .NET Core (और अब .NET 5/6/7/8) के आगमन के साथ, डेवलपर्स को Linux पर अपने एप्लिकेशन चलाने की क्षमता मिल गई है, जिससे सस्ते और उच्च-प्रदर्शन वाले VPS सर्वरों तक पहुंच खुल गई है। VPS पर C# एप्लिकेशन का डिप्लॉयमेंट न केवल बजट बचाता है, बल्कि OS चुनने से लेकर सुरक्षा कॉन्फ़िगर करने तक, बुनियादी ढांचे पर पूर्ण नियंत्रण भी प्रदान करता है।

\n

इस मार्गदर्शिका में, हम एक रिमोट सर्वर पर ASP.NET Core एप्लिकेशन को डिप्लॉय करने के पूरे चक्र को समझेंगे। आप सीखेंगे कि सर्वर कैसे तैयार करें, रिवर्स प्रॉक्सी सर्वर Nginx को कैसे कॉन्फ़िगर करें, Kestrel के माध्यम से एप्लिकेशन कैसे चलाएं और SSL सर्टिफिकेट से इसे कैसे सुरक्षित करें। सभी चरण कोड उदाहरणों और कंसोल कमांड के साथ दिए गए हैं।

\n\n

1. सर्वर तैयार करना और .NET Runtime इंस्टॉल करना

\n

OS चुनना और SSH से कनेक्ट करना

\n

VPS पर C# एप्लिकेशन डिप्लॉय करने के लिए Ubuntu 22.04 LTS या Debian 11 डिस्ट्रीब्यूशन का उपयोग करने की अनुशंसा की जाती है। सर्वर किराए पर लेने के बाद, SSH के माध्यम से उससे कनेक्ट करें:

\n
ssh root@आपका_सर्वर_IP
\n

पैकेज मैनेजर को अपडेट करें और आवश्यक उपयोगिताएँ इंस्टॉल करें:

\n
apt update && apt upgrade -y\napt install curl wget git -y
\n\n

.NET SDK या Runtime इंस्टॉल करना

\n

तैयार एप्लिकेशन चलाने के लिए केवल ASP.NET Core Runtime इंस्टॉल करना पर्याप्त है। यदि आप सर्वर पर ही कोड कंपाइल करने की योजना बना रहे हैं, तो SDK इंस्टॉल करें। Microsoft रिपॉजिटरी जोड़ें और .NET 8 इंस्टॉल करें:

\n
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb\ndpkg -i packages-microsoft-prod.deb\napt update\napt install aspnetcore-runtime-8.0 -y
\n

इंस्टॉलेशन जांचें:

\n
dotnet --list-runtimes
\n

आउटपुट में ASP.NET Core 8.0.x वर्शन वाली एक पंक्ति होनी चाहिए।

\n\n

2. एप्लिकेशन तैयार करना और प्रकाशित करना

\n

प्रोडक्शन के लिए प्रोजेक्ट कॉन्फ़िगर करना

\n

अपने ASP.NET Core प्रोजेक्ट में Program.cs फ़ाइल खोलें और सुनिश्चित करें कि एप्लिकेशन सही URL पर सुन रहा है। Kestrel के माध्यम से काम करने के लिए पोर्ट 5000 सेट करें:

\n
var builder = WebApplication.CreateBuilder(args);\nbuilder.WebHost.UseUrls("http://0.0.0.0:5000");\nvar app = builder.Build();\napp.MapGet("/", () => "VPS से नमस्ते!");\napp.Run();
\n

साथ ही, यदि उपयोग किए जा रहे हैं तो appsettings.json में लॉग और डेटाबेस कनेक्शन स्ट्रिंग के लिए एक सेक्शन जोड़ें।

\n\n

एप्लिकेशन प्रकाशित करना (Self-contained या Framework-dependent)

\n

प्रकाशन का तरीका चुनें। Self-contained में सभी निर्भरताएँ शामिल होती हैं, जो तब सुविधाजनक होता है जब सर्वर पर .NET Runtime स्थापित न हो। Framework-dependent के लिए इंस्टॉल किए गए Runtime की आवश्यकता होती है। प्रोजेक्ट फ़ोल्डर में कमांड चलाएँ:

\n
dotnet publish -c Release -o ./publish
\n

पूरा होने पर, publish फ़ोल्डर में सभी आवश्यक फ़ाइलें दिखाई देंगी। उन्हें संग्रहित करें:

\n
tar -czf app.tar.gz ./publish
\n\n

सर्वर पर अपलोड करना

\n

आर्काइव ट्रांसफर करने के लिए SCP या SFTP का उपयोग करें। SCP के माध्यम से उदाहरण (लोकल मशीन से चलाया जाता है):

\n
scp app.tar.gz root@आपका_IP:/var/www/myapp/
\n

सर्वर पर आर्काइव को अनज़िप करें:

\n
mkdir -p /var/www/myapp\ntar -xzf /var/www/myapp/app.tar.gz -C /var/www/myapp/
\n\n

3. Kestrel कॉन्फ़िगर करना और systemd सेवा बनाना

\n

Kestrel के माध्यम से एप्लिकेशन चलाना

\n

Kestrel ASP.NET Core का अंतर्निहित वेब सर्वर है। परीक्षण के लिए चलाएँ:

\n
cd /var/www/myapp/publish\ndotnet YourAppName.dll
\n

एप्लिकेशन पोर्ट 5000 पर चालू होना चाहिए। curl http://localhost:5000 के माध्यम से जांचें। यदि सब कुछ काम करता है, तो प्रक्रिया रोकें (Ctrl+C)।

\n\n

systemd यूनिट फ़ाइल बनाना

\n

एप्लिकेशन को सिस्टम स्टार्टअप पर स्वचालित रूप से चालू होने और विफलता पर पुनरारंभ होने के लिए, एक systemd सेवा बनाएँ। फ़ाइल बनाएँ:

\n
nano /etc/systemd/syst                

ब्लॉग

पुस्तक अनुशंसाएँ