सीधे IIS 7 ApplicationHost.config कॉन्फ़िगरेशन फ़ाइल का संपादन


38

मुझे पता है कि IIS 7+ अब मेटाबेस के बजाय XML कॉन्फिग फाइलों का उपयोग करता है। मुझे यह भी पता है कि अगर मैं किसी दिए गए साइट के लिए web.config फ़ाइल संपादित करता हूं, तो IIS स्वचालित रूप से परिवर्तनों का पता लगाता है और किसी भी संगत कॉन्फ़िगरेशन परिवर्तनों को लागू करता है।

हालाँकि, क्या यह सर्वर-स्तरीय ApplicationHost.config सेटिंग्स फ़ाइल पर भी लागू होता है? (इसका आमतौर पर C: \ windows \ system32 \ inetsrv \ config में स्थित होता है।) विशेष रूप से, क्या IIS प्रबंधक या ऐप कमांड कमांड लाइन उपयोगिता का उपयोग करने के बजाय इस फ़ाइल को सावधानीपूर्वक संपादित करना सुरक्षित है? मुझे डॉक्यूमेंटेशन में ऐसा कुछ नहीं मिला, जिसमें कहा गया हो कि ऐसा करना ठीक था या नहीं।

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

जवाबों:


51

इस उत्तर को भी यहां से देखें: एप्लीकेशनहोस्ट.कॉनफिग को मैन्युअल रूप से संपादित नहीं कर सकते

उत्तर सरल है, अगर यह स्पष्ट नहीं है: win2008 64 बिट है, नोटपैड ++ 32 बिट है। जब आप खोजकर्ता का उपयोग करके Windows \ System32 \ inetsrv \ config नेविगेट करते हैं तो आप फ़ाइल खोजने के लिए 64 बिट प्रोग्राम का उपयोग कर रहे हैं। जब आप नोटपैड ++ का उपयोग करके फ़ाइल को खोलते हैं तो आप 32 बिट प्रोग्राम का उपयोग करके इसे खोलने की कोशिश कर रहे हैं। भ्रम इसलिए होता है क्योंकि यह बताने के बजाय कि यह आप क्या कर रहे हैं, विंडोज़ आपको फ़ाइल खोलने की अनुमति देती है, लेकिन जब आप इसे सहेजते हैं तो फ़ाइल का पथ पारदर्शी रूप से Windows \ SysWOW64 \ inetsrv \ config में मैप किया जाता है।

तो व्यवहार में क्या होता है आप नोटपैड ++ का उपयोग करके एप्लीकेशनहोस्ट ओपन खोलते हैं। फाइल में बदलाव करें; लेकिन मूल को अधिलेखित करने के बजाय आप इसकी एक 32 बिट कॉपी को Windows \ SysWOW64 \ inetsrv \ config में सहेज रहे हैं, इसलिए आप उस संस्करण में परिवर्तन नहीं कर रहे हैं जो वास्तव में IIS द्वारा उपयोग किया जाता है। यदि आप Windows \ SysWOW64 \ inetsrv \ config पर नेविगेट करते हैं तो आपको वह फ़ाइल मिल जाएगी जिसे आपने अभी सहेजा है।

इसके आसपास कैसे पहुंचें? सरल - एक 64 बिट टेक्स्ट एडिटर का उपयोग करें, जैसे कि सामान्य नोटपैड जो खिड़कियों के साथ जहाज करता है।


7
इस एक के साथ मेरी बेकन को बचाया ... क्या अजीब मुद्दा था जो मुझे लगता है कि मैं पागल हो रहा था। धन्यवाद!
ब्रेटविग्रीन

यह विंडोज 10 में अब एक मुद्दा नहीं लगता है, इसलिए यह बहुत भ्रामक था जब यह हमारे विंडोज 7 और विंडोज सर्वर 2012 मशीनों में हो रहा था।
डेज़ान

धन्यवाद, @ मार्कीव। यह पहली नज़र में बहुत भ्रामक मुद्दा है।
मोबी का स्टंट डबल

9

विशेष रूप से, क्या IIS प्रबंधक या appcmd कमांड लाइन उपयोगिता का उपयोग करने के बजाय इस फ़ाइल को सावधानीपूर्वक संपादित करना सुरक्षित है?

हाँ! यदि आप मशीन पर प्रशासक हैं तो आप सीधे applicationhost.config फ़ाइल को संपादित कर सकते हैं; वह सब जो व्यवस्थापक उपकरण भी करते हैं।

यदि आप मुसीबत में हैं, तो कम से कम 20 मिनट के कॉन्फ़िगरेशन बैकअप डिफ़ॉल्ट रूप से \ inetpub \ इतिहास में संग्रहीत किए जाते हैं ।


धन्यवाद! मुझे नहीं पता कि वे इसका अधिक दस्तावेज क्यों नहीं देते हैं।
8


0

जानने के लिए एक और उपयोगी बिट: जब आप मैन्युअल रूप से ApplicationHost.config फ़ाइल को संपादित करते हैं (जैसा कि उपकरण करते हैं) केवल उन अनुप्रयोगों के लिए जिनके लिए आपने कॉन्फ़िगरेशन बदला है, पुनरावृत्ति करेंगे। IIS वास्तव में प्रत्येक एप्लिकेशन के लिए कॉन्फ़िगरेशन का एक स्नैपशॉट लेता है और उस एप्लिकेशन के लिए कुछ बदलने तक इसे अपडेट नहीं करता है।


Stackoverflow.com/questions/8635884/… और टिप्पणियों के अनुसार एक पूर्ण रीबूट की आवश्यकता है।
यूल हलब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.