Selecting a server during development with ASP.NET Core
ASP.NET Core के अंतर्गत डेवलेपमेंट के समय सर्वर का चयन
ASP.NET Core डेवलपमेंट में कौन सा सर्वर चुनें? दोस्तों! 🙏 आइए, इस प्रश्न का उत्तर समझते हैं।
ASP.NET Core डेवलपमेंट के समय कौन सा सर्वर उपयोग करना चाहिए, यह कई कारकों पर निर्भर करता है, जैसे कि:
- आपका ऑपरेटिंग सिस्टम (Windows, Linux, Mac)
- डेवलपमेंट एनवायरनमेंट (Visual Studio, VS Code, CLI, Docker)
- फाइनल डिप्लॉयमेंट कहां होगा (IIS, Linux, क्लाउड, कंटेनर)
Kestrel (डिफ़ॉल्ट और क्रॉस-प्लेटफॉर्म सर्वर)
👉 कब उपयोग करें?
- ✔ जब आपको Windows, Linux, और Mac पर एक ही सर्वर का उपयोग करना हो।
- ✔ जब आप Docker में काम कर रहे हों।
- ✔ जब आप प्रोडक्शन में Nginx/IIS के साथ रिवर्स प्रॉक्सी का उपयोग करने की योजना बना रहे हों।
👉 कब न करें?
- ❌ जब आपको IIS Express के इन-बिल्ट फीचर्स चाहिए हों।
- ❌ जब आपको Windows Authentication चाहिए हो।
👉 कैसे सेट करें?
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5000"
}
}
}
}
📌 CLI से चलाने के लिए:
dotnet run
IIS Express (केवल Windows)
👉 कब उपयोग करें?
- ✔ जब आप Windows पर Visual Studio का उपयोग कर रहे हों।
- ✔ जब आपको Windows Authentication की जरूरत हो।
- ✔ जब आप IIS प्रोडक्शन पर डिप्लॉय करने की योजना बना रहे हों।
👉 कब न करें?
- ❌ जब आप Linux या Mac पर काम कर रहे हों।
- ❌ जब आप Docker में डेवेलपमेंट कर रहे हों।
👉 कैसे सेट करें?
{
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
IIS (Windows Server पर होस्टिंग के लिए)
👉 कब उपयोग करें?
- ✔ जब आप Windows Server पर डिप्लॉय करने की योजना बना रहे हों।
- ✔ जब आपको Reverse Proxy की जरूरत हो।
- ✔ जब आपको Windows Authentication चाहिए हो।
👉 कब न करें?
- ❌ जब आप Linux या Mac पर काम कर रहे हों।
- ❌ जब आप Docker या क्लाउड-बेस्ड डेवेलपमेंट कर रहे हों।
👉 कैसे सेट करें?
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseIIS();
var app = builder.Build();
app.Run();
Nginx/Apache (Linux/Mac पर डेवलपमेंट या प्रोडक्शन)
👉 कब उपयोग करें?
- ✔ जब आप Linux/Mac पर काम कर रहे हों।
- ✔ जब आप प्रोडक्शन में Linux सर्वर पर डिप्लॉय कर रहे हों।
- ✔ जब आपको रिवर्स प्रॉक्सी की जरूरत हो।
👉 कब न करें?
- ❌ जब आप Windows-only फीचर्स (Windows Auth, IIS-specific tools) उपयोग कर रहे हों।
- ❌ जब आपको Visual Studio के अंदर Debugging चाहिए हो।
👉 कैसे सेट करें?
Kestrel रन करें:
dotnet MyApp.dll
Nginx कॉन्फ़िगर करें (/etc/nginx/sites-available/default)
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Nginx रीस्टार्ट करें:
sudo systemctl restart nginx
Docker + Nginx (क्लाउड-बेस्ड डेवलपमेंट)
👉 कब उपयोग करें?
- ✔ जब आप Docker कंटेनर में काम कर रहे हों।
- ✔ जब आपको क्लाउड-नेटिव एप्लिकेशन बनानी हैं।
- ✔ जब आपको Microservices डेवलपमेंट करना हो।
👉 कब न करें?
- ❌ जब आप सिर्फ Windows/IIS आधारित एप्लिकेशन बना रहे हों।
- ❌ जब आप Visual Studio Debugging चाहते हों।
👉 कैसे सेट करें?
FROM mcr.microsoft.com/dotnet/aspnet:8.0
COPY . /app
WORKDIR /app
EXPOSE 80
CMD ["dotnet", "MyApp.dll"]
📌 Docker Compose से Nginx और ASP.NET Core रन करें:
version: '3.4'
services:
web:
build: .
ports:
- "5000:80"
nginx:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
📌 Docker रन करें:
docker-compose up -d
Next: ASP.NET Core के अंतर्गत क्लास के अलावा क्या इंटरफेस भी सर्विसेज के रूप में प्रयोग किया जा सकता है?
टिप्पणियाँ
एक टिप्पणी भेजें