http त्रुटि 503। सेवा अनुपलब्ध है। ऐप पूल एक्सेस करने वाली वेबसाइट पर रुक जाता है


167

इस पर कई पोस्ट हैं और मैंने अब तक कई चीजों की कोशिश की है। लेकिन कोई फायदा नहीं हुआ। खुद को एक विरूपर डेवलपर मूल रूप से, इस वेब सामान पर कुछ दिन पहले काम करना शुरू कर दिया था क्योंकि मेरी कंपनी वेब पहल कर रही है।

मेरे पास ASP.Net परियोजना है और मैं इसे स्थानीय IIS पर होस्ट करना चाहता हूं। में Project properties -> Webसेटिंग्स मैं चुना है Use Local IIS Serverऔर के रूप में एक यूआरएल दे दी है localhost/MyApp। मैंने अपने फ़ायरफ़ॉक्स ब्राउज़र पर इसे एक्सेस करने की कोशिश की और त्रुटि प्राप्त कीHTTP Error 503. The service is unavailable.

पहले मुझे कई अन्य त्रुटियां मिलीं और मैंने एक-एक करके उन सभी को ठीक किया। लेकिन इस एक के साथ मारा। ये सेटिंग्स हैं जो मैंने अपने प्रोजेक्ट में की हैं

  1. अनुप्रयोग पूल ASP.Net v4.0 क्लासिक पर सेट है
  2. ऐप पूल की Enable 32 bit Applicationसंपत्ति सही है
  3. ऐप पूल शुरू किया गया है
  4. Any CPUटारगेट फ्रेमवर्क के लिए प्रोजेक्ट बिल्ड प्रॉपर्टी सेट करें

लेकिन मैं एक अजीब व्यवहार का उल्लेख करना चाहूंगा। निम्नलिखित कुछ है जो मैं सामना कर रहा हूं

  1. एप्लीकेशन पूल शुरू किया गया है
  2. मैं अपनी स्थानीय वेबसाइट तक पहुँचने की कोशिश करता हूँ (जैसा कि यूआरएल देकर localhost/MyApp)
  3. मुझे त्रुटि के रूप में प्राप्त होता है HTTP Error 503. The service is unavailable
  4. एप्लीकेशन पूल बंद है

मैंने लिंक को देखा है और मैंने पहले ही कोशिश कर ली है। उपरोक्त व्यवहार के लिए मैं यहाँ पहुँचा । इस लिंक के अनुसार, कंप्यूटर का नाम इसमें नहीं होना चाहिए ..मेरे कंप्यूटर नाम में कोई भी नहीं है, लेकिन -इसमें है। साथ ही मेरे डोमेन नेम .में है। इसके अलावा मैं इन सेटिंग्स को अपने कार्यालय के लैपटॉप के रूप में नहीं बदल सकता हूं और हमारी टीएफएस सेटिंग्स हमारे डोमेन और कंप्यूटर नामों के लिए बाध्य हैं।

क्या कोई मुझे समझने में मदद कर सकता है कि क्या हो रहा है? कृपया मेरा मार्ग दर्शन कीजिए। धन्यवाद।

संपादित करें

में निम्नलिखित कोड है Global.asaxApplication_BeginRequestएक ही फाइल में विधि खाली है।

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

अपडेट करें

टिप्पणी में दिए गए सुझावों के अनुसार, मैं कैसिनी से वेबसाइट चलाने में सक्षम हूं।


क्या आपके पास अपने Global.asax में कोई कोड है जो आवेदन शुरू होने पर चलता है? कुछ भी जो एक पाश में फंस रहा हो सकता है? आपने सक्षम किया Enable 32 bit Applicationलेकिन क्या आप किसी 32-बिट केवल DLL का उपयोग कर रहे हैं?
कोडिंगइंट्रीग्यू

जब आप इसे कैसिनी में चलाते हैं तो क्या होता है?
साइमन व्हाइटहेड

@Rraham: मेरे पास प्रोजेक्ट बिल्ड प्रॉपर्टी टू सेट है Any CPU। इसलिए मुझे लगता है कि इस्तेमाल किए गए dll को समस्या नहीं होनी चाहिए। कृपया Global.asax कोड के लिए संपादन देखें। साभार
सैंडी

@SimonWhitehead: कैसिनी का कोई विचार नहीं है। मैंने इसे अभी cassinidev.codeplex.com से डाउनलोड किया है । मैं कुछ dll देख सकते हैं और डाउनलोड की गई फ़ाइलों में exe कर सकते हैं। क्या आप कृपया इसका उपयोग करने में मेरी मदद कर सकते हैं? इस बीच मैं इंटरनेट स्रोतों से इस मुद्दे पर पढ़ने की कोशिश करूंगा।
सैंडी

@SimonWhitehead: मैं कैसिनी से वेबसाइट चलाने में सक्षम हूं।
सैंडी

जवाबों:


315

ऐसा होने का एक संभावित कारण यह है कि IIS में एप्लिकेशन पूल को कुछ कस्टम खाते के तहत चलाने के लिए कॉन्फ़िगर किया गया है और यह खाता या तो मौजूद नहीं है या एक गलत पासवर्ड प्रदान किया गया है, या पासवर्ड बदल दिया गया है। IIS में एप्लिकेशन पूल के उन्नत गुणों को देखें कि वह किस खाते का उपयोग करता है।

इसके अलावा इवेंट लॉग में अधिक जानकारी हो सकती है कि एप्लिकेशन पूल पहले अनुरोध पर तुरंत क्यों रोक रहा है।

यहां छवि विवरण दर्ज करें


38
मेरे मामले में, यह मुद्दा था। मैंने अपना विंडोज पासवर्ड बदल दिया था और विंडोज 8.1 के लिए मेरे स्थानीय आईआईएस ने काम करना बंद कर दिया था। मुझे प्रत्येक प्रोजेक्ट को कई स्थानों पर अपडेट करना था। IIS 8 में, मुझे पूल पर राइट क्लिक करके और "उन्नत सेटिंग्स -> प्रोसेस मॉडल -> पहचान" पर क्लिक करके एप्लिकेशन पूल में क्रेडेंशियल्स को अपडेट करना था। फिर मुझे "साइट -> MySITE -> उन्नत सेटिंग्स -> भौतिक पथ क्रेडेंशियल्स"
teynon

4
यदि खाता मौजूद है और पासवर्ड सही है, तो वह अक्षम हो सकता है; यह एक ही लक्षण का कारण होगा।
वोल्फगैंग

2
हां, यही उपाय है। मेरा खाता पासवर्ड बहुत बार बदल दिया जाता है। और मैं "उन्नत सेटिंग्स" में नया पासवर्ड देना भूल गया
mihkov

2
ईवेंट लॉग की जाँच करने का तरीका है, हमेशा इन मुद्दों में मेरी मदद की, पिछली बार मैंने इवेंट लॉग की जाँच की और मैंने पाया कि यह आईईएस में rewrite.dll लोड करने में विफल है, मैं नियंत्रण कक्ष में कार्यक्रमों और सुविधाओं के लिए गया था, स्थापना की मरम्मत की, और सब कुछ सामान्य हो गया।
अमर एलगारि

3
हमने हाल ही में पासवर्ड बदला था। यही समाधान था। अन्य लोगों के लिए, स्क्रीनशॉट यहाँ देखें: i.imgur.com/rp8bnGy.png
AskYous

43

ठीक है, मेरे पास एक विशिष्ट मामले के लिए एक और समाधान है: यदि आप WINDOWS 10 का उपयोग करते हैं, और आपने इसे हाल ही में अपडेट किया है (वर्षगांठ अपडेट पैकेज के साथ) तो आपको नीचे दिए गए चरणों का पालन करने की आवश्यकता है:

  1. अपना चेक करें Windows Event Viewer- Win + R दबाएँ और टाइप करें: eventvwrफिर ENTER दबाएँ।
  2. बाईं ओर Windows Event Viewerक्लिक करें Windows Logs-> पर Application
  3. अब आपको IIS-W3SVC-WPमध्य विंडो में स्रोत के लिए कुछ त्रुटि खोजने की आवश्यकता है ।
  4. संभवतः आपको संदेश दिखाई देगा:

मॉड्यूल DLL >> पथ-से-DLL << लोड करने में विफल रहा। यह डेटा त्रुटि है।

  1. आपको Control Panel-> पर जाना होगा Program and Featuresऔर इस पर निर्भर करेगा कि कौन सा dll लोड नहीं किया जा सकता है, आपको दूसरे मॉड्यूल की मरम्मत करने की आवश्यकता है:
    • के लिए rewrite.dll- IIS URL पुनर्व्यवस्थित मॉड्यूल 2 खोजें और क्लिक करें Change->Repair
    • के लिए aspnetcore.dll- Microsoft .NET Core 1.0.0 खोजें - VS 2015 टूलिंग ... और क्लिक करें Change-> Repair
  2. अपने कंप्यूटर को पुनरारंभ।

इस जवाब ने मुझे इसी तरह की समस्या का निवारण करने में मदद की। कोर 2.2 को हटाकर "सेवा अनुपलब्ध" त्रुटि को ठीक किया गया (अकेले मरम्मत नहीं हुई)। वोट देना।
रॉबर्टो

2
स्वीकृत उत्तर से कोई मदद नहीं मिली। इसने किया। धन्यवाद!
डेविल्स एडवोकेट

1
शानदार जवाब, लॉग मुझे दिखाओ मॉड्यूल DLL C: \ Windows \ System32 \ inetsrv \ compdyn.dll लोड करने में विफल रहा। यह डेटा त्रुटि है। इसलिए मैं डायनामिक कंटेंट कम्प्रेशन
मेहदी डस्टनी

मेरे लिए, यह था: The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.इसलिए मैंने इस सुझाव के
डेविड रिफौआ

14

मेरी स्थिति के लिए मेरा लॉगिन पासवर्ड बदल गया है, जबकि एप्लिकेशन पूल अभी भी पुराने का उपयोग करता है। तो बस अपने एप्लिकेशन पूल की "उन्नत सेटिंग्स" पर क्लिक करें और अपनी "पहचान" को रीसेट करें।


मैं सहमत हूँ कि यह अक्सर होता है
सैंडी

11

मैं उसी समस्या का सामना कर रहा था, और इवेंट लॉग का उपयोग करके इसे डीबग कर दिया। पहले यह कहा गया कि: "Microsoft-विंडोज-डब्ल्यूएएस स्रोत से इवेंट आईडी 5059 का विवरण नहीं मिल सकता है"।

मैं तब चालू / बंद खिड़कियों सुविधाओं का उपयोग कर WAS चालू किया था । तब मैंने इवेंटवॉटर में यह देखा "माइक्रोसॉफ्ट-विंडोज-डिस्ट्रिब्यूटकॉम नहीं मिल सकता है"।

अंत में मैंने ऐप पूल को छोड़ दिया और हटा दिया (जो वेबसाइट को एक्सेस करना बंद कर देता था) और इसे फिर से बनाया, जैसा कि यह है। इससे समस्या का समाधान हो गया।


और यदि आप एक ही ऐप पूल को संदर्भित करने वाली साइटों का एक समूह है, तो आप उन्हें अद्यतन करने के लिए appcmd का उपयोग कर सकते हैं: appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
drzaus

मेरे लिए भी काम किया। 2008 से 2012 तक अपग्रेड करके, ऐप पूल पूरी तरह से खुश नहीं थे।
एंथनी हॉर्ने

6

विंडोज 10 के साथ आने वाले किसी भी व्यक्ति के लिए और उन्हें एनिवर्सरी अपडेट के लिए अपडेट करने के बाद, कृपया इस लिंक को देखें, इससे मुझे मदद मिली:

https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

मामले में लिंक नीचे चला जाता है: यदि आपका ईवेंट लॉग दिखाता है कि aspnetcore.dll, rewrite.dll (सबसे अधिक बार, लेकिन दूसरों को भी हो सकता है) लोड करने में विफल रहा है, तो आपको लापता वस्तुओं की मरम्मत करनी होगी।

यहां दो विशिष्ट मुद्दे हैं जिन्हें हमने अब तक अनुभव किया है और उन्हें कैसे ठीक किया जाए, लेकिन आप पूरी तरह से अलग हो सकते हैं:

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".

6

अधिकांश समय, यह AppPool सेटिंग के कारण कम हो गया था।

इसे हल करने के लिए निम्नलिखित की जाँच करें

  1. Check Apppool सेवा चल रही है।
  2. AppPool की पहचान की जाँच करें।
  3. नया पासवर्ड दर्ज करें यदि वह उस पहचान के लिए बदल गया है।

निम्न छवियां IIS में इन सेटिंग को दिखाती हैं

यहां छवि विवरण दर्ज करें


5

यदि आपके पास McAfee HIPS है और यदि आपको इवेंट व्यूअर एप्लिकेशन लॉग में निम्न त्रुटि दिखाई देती है:

मॉड्यूल DLL C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll लोड करने में विफल रहा।
यह डेटा त्रुटि है।

तब निम्नलिखित ने मेरे मामले में इस मुद्दे को हल किया: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

पृष्ठ से उद्धरण:

  1. स्टार्ट पर क्लिक करें, रन करें, एक्सप्लोरर टाइप करें और ओके पर क्लिक करें।
  2. पर नेविगेट करें:% windir% \ system32 \ inetsrv \ config
  3. नोटपैड में संपादन के लिए प्रशासक के रूप में फ़ाइल ApplicationHost.config खोलें।
  4. <GlobalModules> अनुभाग संपादित करें और निम्न पंक्ति निकालें:
    <name = "MfeEngine" छवि = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" /> जोड़ें

  5. <मॉड्यूल> अनुभाग को संपादित करें और निम्नलिखित लाइन को हटा दें:
    <नाम जोड़ें "" MfeEngine "/>

  6. आपके द्वारा ApplicationHost.config फ़ाइल का संपादन समाप्त करने के बाद, फ़ाइल को सहेजें, फिर आईआईएस सर्वर का उपयोग करके iisreset या सिस्टम को पुनरारंभ करके पुनः आरंभ करें।

5

मेरे मामले में मैंने इवेंट लॉग की जाँच की और पाया कि कॉन्फ़िगरेशन फ़ाइल को 'फ़ाइल' \ _ \ ', लाइन नंबर' 0 'से पढ़ने की कोशिश नहीं कर रहा था। डेटा फ़ील्ड में त्रुटि कोड होता है।

त्रुटि कोड 2307 था।

मैंने C: \ inetpub \ temp \ appPools में सभी फ़ाइलें हटा दीं और iis को पुनः आरंभ किया। इसने मुद्दा तय कर दिया।


4

मेरा मुद्दा भी ऐसा ही था। मैंने "स्थानीय सुरक्षा नीति"> "स्थानीय नीतियां"> "उपयोगकर्ता अधिकार असाइनमेंट" के तहत "लॉग ऑन ए बैच जॉब" पॉलिसी में अपने उपयोगकर्ता को जोड़कर इसे हल किया।


4

जब मैंने पहली बार सेवा को जोड़ा और इसके लिए ऐप पूल बनाया। मैंने कमांड प्रॉम्प्ट से "iisreset" किया, और यह काम कर गया।


3

यदि आप विज़ुअल स्टूडियो डीबगर में वेबसाइट चला सकते हैं, तो यह देखने में सक्षम हो सकता है कि आपके कोड में एप्लिकेशन पूल कहां क्रैश हो रहा है। मेरे मामले में, यह एक फ़ंक्शन था जिसे पुनरावर्ती रूप से असीमित संख्या में कहा जाता था, और इससे स्टैक ओवरफ़्लो होता था। नोट: Windows ईवेंट लॉग और IIS लॉग समस्या का निदान करने में मददगार नहीं थे।


3

मैं iis 8.5 के साथ एक ही मुद्दा था। विंडोज़ लॉग्स -> एप्लिकेशन के तहत ईवेंट व्यूअर की खोज करने के बाद, मुझे एहसास हुआ कि मैं "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 पर स्थित .net फ्रेमवर्क की मशीन .conf फ़ाइल के लिए एक अनुमति त्रुटि कर रहा हूँ। \ Config \ machine.config "। इसे IIS_IUSRS के लिए अनुमति देने से मेरी समस्या हल हो गई (फ़ाइल पर राइट क्लिक करें -> गुण -> सुरक्षा -> संपादित करें -> जोड़ें -> IIS_IUSRS)


3

मैं इस त्रुटि का सामना कर रहा था और मेरे मामले में कारण यह था कि कुछ समय पहले मैंने उपयोगकर्ता पासवर्ड को संशोधित किया था, और 503 त्रुटि तब तक प्रकट नहीं हुई जब तक मैंने एप्लिकेशन पूल को पुनः आरंभ नहीं किया।

इसलिए मैंने एप्लिकेशन पूल / उन्नत सेटिंग्स / पहचान / [...] / सेट ... / पासवर्ड / पुष्टि पासवर्ड पर नया पासवर्ड सेट करने का निर्णय लिया


2

मेरे पास एक समान मुद्दा था, जब भी कोई वेब अनुरोध उनसे किया जाता था तो मेरे सभी ऐप पूल बंद हो जाते थे। हालाँकि मुझे इवेंट व्यूअर में निम्न त्रुटि मिल रही थी:

एप्लिकेशन पूल 'appPoolName' के लिए कार्यकर्ता प्रक्रिया में एक त्रुटि हुई 'कॉन्फ़िगरेशन फ़ाइल अच्छी तरह से बनाई गई XML नहीं है' फ़ाइल से कॉन्फ़िगरेशन डेटा पढ़ने की कोशिश कर रहा है? \ C: \ inetpub \ temp \ apppools \ appPoolName \ appPoolName.config ', लाइन संख्या 3'। डेटा फ़ील्ड में त्रुटि कोड होता है।

जिसने मुझे बताया कि आवेदन में त्रुटियां थीं।

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

मेरे परिदृश्य में, मैंने web.config को एक तत्व IIS स्पष्ट रूप से नापसंद के साथ तैनात करने पर संपादित किया, ApplicationHost.config ने web.config को स्क्रैप कर दिया और यह खराब तत्व डाला और तब तक हल नहीं होगा जब तक मैं इसे मैन्युअल रूप से हटा नहीं देता।


"एक तत्व IIS स्पष्ट रूप से नापसंद करता है" आपके द्वारा उल्लिखित विशिष्ट तत्व क्या है ??
अखिल

मैंने इस पोस्ट को 4 साल पहले बनाया था। मुझे यकीन नहीं है कि web.config में कौन सा तत्व था, लेकिन वह बात नहीं है। ओपी का वर्णन करने वाले ऐप पूल की समस्या मेरे साथ हो रही थी और मुझे ये अनपेक्षित त्रुटि संदेश वापस मिल रहे थे। उपरोक्त कारण यह था कि मैंने अपनी साइट के web.config में गलत प्रविष्टि दी थी। (शायद एक वर्तनी की गलती या वाक्यविन्यास त्रुटि या उस अनुभाग के साथ जो IIS मान्य नहीं था)
ShaneC

2

ओरहान के उत्तर से इस लिंक पर उल्लिखित चरणों के अलावा , आपको IIS प्रबंधक> सर्वर रूट> मॉड्यूल> नेटिव मॉड्यूल कॉन्फ़िगर करके मूल मॉड्यूल को अतिरिक्त रूप से हटाने की आवश्यकता हो सकती है। MfeEngine का चयन करें और फिर निकालें का चयन करें।


2

"क्लासिक" से "एकीकृत" के लिए "प्रबंधित पाइपलाइन मोड" को बदलना मेरे लिए काम किया। इसे एप्लीकेशन पूल -> बेसिक सेटिंग्स में बदला जा सकता है


इसने मेरी समस्या को ठीक कर दिया, जो हमारे विंडोज़ सर्वर 2008 R2 को IIS 7.5 चलाने के बाद निम्न विंडोज़ KB को लागू करने के बाद दिखाई दिया। ### 2019-07 .NET फ्रेमवर्क 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7.2, 4.7.1, 4.7.2, 4.8 के लिए विंडोज 7 और सर्वर 2008 R2 के लिए सुरक्षा और गुणवत्ता रोलअप। x64 के लिए (KB4507420) अधिक जानकारी: support.microsoft.com/kb/4507420 ###
फानफ

1

बस इन Anniversary Updateमुद्दों को जोड़ने के लिए (धन्यवाद Microsoft) यदि आप जिस फ़ाइल को याद कर रहे हैं वह है cgi.dll, अर्थात आपके Event Viewerपास

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

फिर इसे ठीक करने के लिए:

  1. के लिए जाओ IIS Manager
  2. में बहुत शीर्ष पंक्ति का चयन करें Connectionsपैनल (आमतौर पर आपका पीसी नाम)
  3. दाएं पैनल के बहुत नीचे, के नीचे Management , आपके पास होना चाहिएWeb Platform Installer
  4. एक बार लोड होने के बाद चयन करें Products
  5. में खोज प्रकार में cgi तब हिट करें<Enter>
  6. IIS: CGIउसके बाद Addदाईं ओर और आखिर Installमें नीचे की तरफ क्लिक करें
  7. इसे स्थापित करने के बाद आपको अपने पीसी को पुनरारंभ करने के लिए मजबूर करना चाहिए और आपको तय किया जाना चाहिए।

1
मेरा "Url Rewrite" था जिसे मैंने अनइंस्टॉल किया और फिर से इंस्टॉल किया। क्योंकि मुझे यह त्रुटि मिली: "मॉड्यूल DLL C: \ WINDOWS \ system32 \ inetsrv \ rewrite.dll लोड करने में विफल रहा। डेटा त्रुटि है।"
गावसप्पा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.