लिनक्स आधारित सर्वर पर ASP.Net चलाना


89

जावा बैकग्राउंड वाले डेवलपर के लिए, मैं ASP.NET टूल / प्लेटफॉर्म के साथ-साथ सॉफ्टवेयर डेवलपमेंट की खोज करने में रुचि रखता हूं।

जावा वेब एप्लिकेशन (.jsp और सर्वलेट) कई सर्वर प्लेटफॉर्म पर चल सकते हैं।

प्रश्न : क्या एक .NET वेब एप्लिकेशन लिनक्स आधारित सर्वर में चल पाएगा? वेब ऐप को होस्ट करने के लिए विंडोज सर्वर का उपयोग नहीं करने के परिदृश्य को देखते हुए।

जवाबों:


69

यह निर्भर करता है कि आप किन विशिष्ट .NET तकनीकों का उपयोग कर रहे हैं। मोनो परियोजना ASP.NET साइटों को चलाने के लिए एक अपाचे मॉड्यूल (mod_mono) प्रदान करता है, और मैं क्या इकट्ठा से यह अच्छी तरह से काम करता है।

मोनो सभी .NET एपीआई का समर्थन नहीं करता है, हालांकि - विशेष रूप से WPF (और संभवतः डब्ल्यूसीएफ भी, मुझे याद नहीं है) - लेकिन यह बहुत अधिक रूपरेखा के लिए अच्छा समर्थन प्रदान करता है।

यदि आप स्क्रैच से शुरू कर रहे हैं और विशेष रूप से गैर-विंडोज सर्वर को लक्षित करना चाहते हैं, तो मोनो के साथ अपने प्रोजेक्ट को सुनिश्चित करना एक अच्छा लक्ष्य होगा। हालांकि, यदि आपको विशेष एपीआई या भाषा सुविधाओं की आवश्यकता है जो मोनो द्वारा समर्थित नहीं हैं, तो आपको तैनाती के लिए विंडोज सर्वर का उपयोग करने की आवश्यकता होगी। यह एक डिज़ाइन-टाइम / वास्तुशिल्प विकल्प है जिसे सामने रखना चाहिए।


3
fyi, मोनो प्रोजेक्ट मेंटेनर के पास इस प्रश्न का उत्तर भी है।
जोएल कोएहॉर्न

8
यदि आप मोनो परियोजना से परिचित नहीं हैं और यह अनुरक्षक है, तो यह उत्तर वह है जिसमें जोएल का जिक्र है।
alastairs

मेरे पास एक asp.net पृष्ठ है जिसे मैं मुख्य php वेबसाइट के साथ एक लिनक्स सर्वर में एकीकृत करना चाहता हूं। क्या यह संभव है? वास्तव में, क्या एक ही लिनक्स सर्वर पर php और asp.net होना संभव है?
होसिन अकाजनी

86

इसलिए मुझे पता है कि यह एक पुराना सवाल है लेकिन मुझे लगता है कि यह एक अद्यतन जवाब दे सकता है।

Microsoft ने आधिकारिक रूप से asp.net vnext और इसके खुले स्रोत और लिनक्स और मैक दोनों के लिए सक्षम- रिलीज़ किया है । यह सब अभी भी बहुत नया है, लेकिन मोनो के नवीनतम निर्माणों पर निर्भर करता है और इस प्रकार वर्तमान में आपको संकलन करने की आवश्यकता है, mono-frameworkलेकिन समय के साथ मुझे संदेह है कि मोनो के विभिन्न लिनक्स डिस्ट्रोस रिलीज अपडेटेड संस्करणों के रूप में एक्सेस करना आसान होगा। यह कैसे सेटअप गाइड है

यह जानकारी कुछ अस्थिर हो सकती है और अपडेट के कारण परिवर्तन के कारण है।

ASP.NET CORE अपडेट करें 11/10/2017


आज तक, ASP.NET कोर द्वारा कौन से लिनक्स वेबसर्वरों का समर्थन किया जाता है?
MrCalvin


12

मैं अनुभव से बोल सकता हूं। यहां तक ​​कि अगर आपकी ASP.net वेबसाइट केवल मोनो द्वारा समर्थित .NET पुस्तकालयों का उपयोग करती है, तो आपको इसे चलाने में कठिन समय लगने वाला है, अगर इसके हैलो वर्ल्ड के साथ कुछ भी हो।

आपको अधिक कोड को फिर से लिखना नहीं पड़ेगा, लेकिन आप mod_mono / xsp / apache कॉन्फ़िगरेशन और फ़ाइल अनुमतियों और त्रुटि से निपटने और सभी छोटी चीज़ों के साथ छोटे मुद्दों पर काम करने में घंटों / दिनों / हफ्तों का समय बिताएंगे जो एक बड़ी वेबसाइट में जाते हैं। (सर्वरफ़ॉल्ट पर सवाल पूछने के लिए बहुत समय बिताने के लिए तैयार रहें :))

समस्या यह है कि बहुत से लोग ASP.net वेबसाइटों के लिए मोनो का उपयोग नहीं करते हैं और इसलिए बहुत सारे लोग बग की रिपोर्टिंग नहीं कर रहे हैं, इसलिए बहुत सी चीजें ऐसी हैं जो मामूली बग लंबे समय के लिए बिना तय हो जाती हैं।


मैं मानता हूँ कि, मैं एक ही विचार कर रहा था और एक वास्तविक परियोजना का सामना करना पड़ा।
असलम हमौदा

10

अब आप ASP.NET 5 ऐप को विज़ुअल स्टूडियो के साथ लिनक्स पर डॉकर में प्रकाशित कर सकते हैं। स्कॉट हेसलमैन की नीचे की पोस्ट देखें

http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx


क्या कोई उत्पादन वेब सर्वर है जो ASP.NET 5 के साथ काम करेगा सिवाय Kestrel के जो केवल एक विकास सर्वर है? यह कैसे एक वैध विकल्प है जिसमें लिनक्स पर ASP.NET वेबसाइट की मेजबानी का कोई तरीका नहीं है?
क्रिस हॉक्स

1
और विंडोज के लिए डॉकटर कंटेनर केवल विंडोज़ सर्वर 16 पर चलते हैं, इसलिए यह सवाल के लिए प्रासंगिक नहीं है
jocelyn

10

चूंकि प्रौद्योगिकियां विकसित होती हैं और यह प्रश्न Google में शीर्ष स्थान पर है, इसलिए हमें मोनो एस्पेरेट कोर से परे शामिल करने की आवश्यकता है , जो कि लिनक्स और विंडोज में उत्पादन के लिए और लिनक्स के लिए विकास के लिए asp.net का एक पूर्ण पुनर्लेखन है। , विंडोज और मैक :

आप विंडोज, मैक और लिनक्स पर अपने ASP.NET कोर ऐप को क्रॉस-प्लेटफॉर्म पर विकसित और चला सकते हैं। ASP.NET Core GitHub में खुला स्रोत है।



4

लिनक्स पर ASP.NET के लिए, मोनो की जाँच करें ।

उस ने कहा, हजारों साइटें बिना किसी समस्या के विंडोज सर्वर पर चलती हैं। किसी भी ओएस के साथ खराब-कॉन्फ़िगर सर्वर असुरक्षित होगा; लिनक्स आपको खराब व्यवस्थापक से नहीं बचाएगा।

इसलिए मुझे लगता है कि ASP.NET ऐप को चित्रित करने के लिए मेरा "सर्वश्रेष्ठ अभ्यास" विंडोज सर्वर 2008 (संभावना वेब संस्करण) का उपयोग करना होगा। और एक अच्छा व्यवस्थापक किराया।


एंटीवायरस की समस्या के बारे में .. विंडोज़ के लिए एंटीवायरस सॉफ़्टवेयर की आवश्यकता है .. मुझे लगता है कि इससे सर्वर साइड क्षेत्र की लागत बढ़ जाएगी .. क्या मैं सही हूं?
आनंद

एंटी-वायरस उत्पादों के अधिकांश "सर्वर" संस्करण उनके "डेस्कटॉप" संस्करणों की तुलना में अधिक महंगे हैं, अक्सर कई बार अधिक, मुख्य रूप से अपेक्षित उपयोग के कारण। मैं AVG (www.avg.com), ESET (www.eset.com), या कंप्यूटर एसोसिएट्स (www.ca.com) सुझाऊंगा।
devstuff

4

आप Apache / Linux पर ASP.NET एप्लिकेशन को चलाने के लिए मोनो का उपयोग कर सकते हैं , हालांकि इसमें एक सीमित उपसमूह है जो आप विंडोज के तहत कर सकते हैं। जैसा कि "वे" कहते हैं कि विंडोज पर हमला करने के लिए अधिक असुरक्षित है - यह सच नहीं है। आईआईएस को पिछले कुछ वर्षों में सुरक्षा संबंधी कम समस्याएँ हैं जो अपाचे, लेकिन किसी भी स्थिति में यह बक्से के प्रशासन के लिए नीचे है - दोनों ओएस आसानी से सुरक्षित हो सकते हैं। इन दिनों हमले के बिंदु ओएस या वेब सर्वर सॉफ़्टवेयर नहीं हैं, बल्कि स्वयं अनुप्रयोग हैं।


3
कुछ भी असुरक्षित हो सकता है। जब तक इसे बंद कर दिया और नेटवर्क से डिस्कनेक्ट कर रहा है कुछ भी नहीं सुरक्षित है
blowdart


3

डॉटनेट GitHub पर .NET का आधिकारिक घर है। यह Microsoft और समुदाय के कई .NET OSS प्रोजेक्ट्स को खोजने के लिए एक शानदार शुरुआती बिंदु है, जिनमें से कई .NET फाउंडेशन का हिस्सा हैं।

यह लिनक्स का समर्थन करने के लिए एक शानदार शुरुआत हो सकती है।


2

अब एक दिन .net को कई प्लेटफार्मों में चलाया जाता है, जैसे कि linux, Mac os आदि। लेकिन मोनो पूरी तरह से स्वतंत्र प्लेटफ़ॉर्म नहीं है, क्योंकि किसी अन्य OS में .NET को तैनात करने के लिए थर्ड पार्टी सॉफ्टवेयर की आवश्यकता होती है। इसलिए यह जावा प्लेटफॉर्म के स्वतंत्र होने जैसा नहीं है।

मोनो अलग-अलग प्लेटफ़ॉर्म में चल रहा है, क्योंकि JIT में अलग-अलग ओएस हैं।

चांदनी में मोनो पूरी तरह से सफल नहीं है (.NET में रजत प्रकाश)। केवल अनुसंधान चल रहा है।

मोनो XSP2 सर्वर या अपाचे का उपयोग करता है। कुछ बड़ी कंपनियां इस परियोजना का उपयोग कर रही हैं, कुछ रोबोट परियोजना मोनो पर भी चल रही हैं।

अधिक जानकारी के लिए http://www.mono-project.com/Main_Page



1

मोनो परियोजना आपका सबसे अच्छा विकल्प है। हालाँकि, इसमें बहुत सारे नुकसान हैं (कुछ क्षेत्रों में अधूरे एपीआई समर्थन की तरह), और यह कानूनी रूप से ग्रे है (रिचर्ड स्टेलमैन जैसे लोगों ने मोनो के उपयोग को अपने पेटेंट अधिकारों का उपयोग करके Microsoft की संभावना कम होने के कारण मोनो का उपयोग किया है, लेकिन यह एक और कहानी है)।

वैसे भी, अपाचे एक मॉड्यूल के माध्यम से .NET / मोनो का समर्थन करता है, लेकिन पिछली बार जब मैंने डेबियन के साथ आपूर्ति किए गए संस्करण की जांच की, तो इसने केवल पर्ल समर्थन दिया; मैं यह नहीं कह सकता कि यह कब से बदल गया है, शायद कोई और मुझे वहाँ सुधारे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.