परिचय
C# एप्लिकेशन डेवलप करना केवल आधा काम है। आपके प्रोजेक्ट को इंटरनेट पर उपयोगकर्ताओं के लिए सुलभ बनाने के लिए, इसे सर्वर पर तैनात करना आवश्यक है। वर्चुअल प्राइवेट सर्वर (VPS) .NET एप्लिकेशन होस्ट करने के लिए एक आदर्श समाधान है, क्योंकि यह पर्यावरण पर पूर्ण नियंत्रण देता है और आपको विशिष्ट आवश्यकताओं के अनुसार सब कुछ कॉन्फ़िगर करने की अनुमति देता है।
इस लेख में, हम Linux (Ubuntu 22.04) पर चलने वाले VPS पर C# एप्लिकेशन (ASP.NET Core) को डिप्लॉय करने की पूरी प्रक्रिया को समझेंगे। आप सीखेंगे कि सर्वर कैसे तैयार करें, आवश्यक सॉफ़्टवेयर कैसे इंस्टॉल करें, एप्लिकेशन को कैसे प्रकाशित करें और इसके साथ काम करने के लिए वेब सर्वर को कैसे कॉन्फ़िगर करें। सभी चरण कोड और कमांड के उदाहरणों के साथ दिए गए हैं।
1. VPS तैयार करना और .NET SDK इंस्टॉल करना
पहला कदम सर्वर तैयार करना है। हम Ubuntu 22.04 LTS का उपयोग करेंगे, क्योंकि यह सर्वरों के लिए सबसे लोकप्रिय और स्थिर ऑपरेटिंग सिस्टम में से एक है। SSH के माध्यम से VPS से कनेक्ट करें:
ssh user@your-server-ipलॉग इन करने के बाद, पैकेज सूची अपडेट करें और आवश्यक निर्भरताएँ इंस्टॉल करें:
sudo apt updatesudo apt upgrade -ysudo apt install wget apt-transport-https software-properties-common -yअब Microsoft रिपॉजिटरी जोड़ें और .NET SDK इंस्टॉल करें। .NET 8 के लिए निम्नलिखित निष्पादित करें:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debsudo apt updatesudo apt install dotnet-sdk-8.0 -yइंस्टॉलेशन की जाँच करें:
dotnet --versionयदि आपको संस्करण संख्या दिखाई देती है (उदाहरण के लिए, 8.0.100), तो सब कुछ सही ढंग से इंस्टॉल हो गया है।
महत्वपूर्ण: यदि आपका एप्लिकेशन डेटाबेस (जैसे PostgreSQL या SQLite) का उपयोग करता है, तो संबंधित पैकेज इंस्टॉल करें। PostgreSQL के लिए:
sudo apt install postgresql postgresql-contrib -y2. एप्लिकेशन को प्रकाशित करना और सर्वर पर अपलोड करना
अब एप्लिकेशन को डिप्लॉयमेंट के लिए तैयार करते हैं। अपने स्थानीय कंप्यूटर (जहाँ डेवलपमेंट हो रहा है) पर, प्रोजेक्ट की रूट डायरेक्टरी में टर्मिनल खोलें और Release मोड में प्रकाशन निष्पादित करें:
dotnet publish -c Release -o ./publishयह कमांड सर्वर पर एप्लिकेशन चलाने के लिए सभी आवश्यक फ़ाइलों के साथ publish नामक फ़ोल्डर बनाएगा। अब इस फ़ोल्डर को VPS पर अपलोड करना होगा। SCP या SFTP का उपयोग करें। SCP के साथ उदाहरण:
scp -r ./publish user@your-server-ip:/home/user/myappजहाँ myapp उस फ़ोल्डर का नाम है जिसमें सर्वर पर आपका एप्लिकेशन संग्रहीत किया जाएगा।
अपलोड करने के बाद, सर्वर से कनेक्ट करें और फ़ाइलों को अधिक उपयुक्त स्थान पर ले जाएँ, उदाहरण के लिए, /var/www/myapp:
sudo mkdir -p /var/www/myappsudo cp -r /home/user/myapp/* /var/www/myapp/फ़ोल्डर पर सही अनुमति देना न भूलें:
sudo chown -R www-data:www-data /var/www/myappsudo chmod -R 755 /var/www/myapp3. स्वचालित स्टार्टअप के लिए systemd कॉन्फ़िगर करना
आपके एप्लिकेशन को सिस्टम स्टार्टअप पर स्वचालित रूप से शुरू करने और विफलता की स्थिति में पुनरारंभ करने के लिए, हम एक systemd सेवा बनाएंगे। एक कॉन्फ़िगरेशन फ़ाइल बनाएँ:
sudo nano /etc/systemd/system/myapp.serviceनिम्नलिखित सामग्री डालें (पथ और उपयोगकर्ता नाम को अपने अनुसार बदलें):
[Unit]Description=My ASP.NET Core ApplicationAfter=network.target
[Service]WorkingDirectory=/var/www/myappExecStart=/usr/bin/dotnet /var/www/myapp/YourApp.dllRestart=alwaysRestartSec=10KillSignal=SIGINTSyslogIdentifier=myappUser=www-dataEnvironment=ASPNETCORE_ENVIRONMENT=ProductionEnvironment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]WantedBy=multi-user.targetफ़ाइल सहेजें (Ctrl+O, फिर Enter) और बाहर निकलें (Ctrl+X)। अब systemd को पुनः लोड करें और सेवा शुरू करें:
sudo systemctl daemon-reloadsudo systemctl start myappsudo systemctl enable myappस्थिति जाँचें: