हम आईआईएस 7.5 पर एक मुद्दे पर आए हैं जहां हमारे पास एक सरल तैनाती प्रणाली है जिसमें निम्नलिखित शामिल हैं:
तीन फ़ोल्डर्स से मिलकर नए वेबरोट की ज़िप-फ़ाइल बनाएँ:
Api
Site
Manager
यह एक नए फ़ोल्डर में अनज़िप किया गया है (मान लें कि हम इसे "SITE_REV1" कहते हैं), और इसमें एक स्क्रिप्ट है जो निम्नलिखित को आमंत्रित करती है (प्रत्येक वेबरोट के लिए एक):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
यह आमतौर पर 9/10 समय में काम करता है। कुछ मामलों में, वेबरोट को सही तरीके से अपडेट किया गया लगता है (यदि मैं IIS प्रबंधक में मूल सेटिंग्स का निरीक्षण करता हूं, तो पथ सही दिखता है), लेकिन प्रश्न में चल रही साइट वास्तव में पुराने स्थान पर इंगित की गई है। एकमात्र तरीका जिसे हमने "ठीक करना" प्रबंधित किया है, वह है IIS-रीसेट चलाकर। यह विचाराधीन एप्लिकेशन पूल को रीसायकल करने के लिए पर्याप्त नहीं है।
कभी-कभी ऐसा लगता है कि रिबूट करना भी आवश्यक है, लेकिन मुझे 100% यकीन नहीं है कि यह सटीक है (यह हमेशा स्वयं नहीं है जो समस्या को ठीक कर रहा था)।
मैंने पॉवरशेल और वेब-प्रशासन मॉड्यूल का उपयोग करते हुए स्क्रिप्ट को फिर से लिखा है, यह उम्मीद करते हुए कि ऐप्पीडक में एक गड़बड़ थी, लेकिन वही समस्या होती है।
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
क्या किसी ने ऐसा कुछ अनुभव किया है? किसी को क्या हो रहा है पर एक सुराग है, और क्या मैं इस मुद्दे को रोकने के लिए कोशिश कर सकते हैं? IIS रीसेट करना वास्तव में हमारे लिए एक अच्छा विकल्प नहीं है, क्योंकि यह हर बार जब हम एक ही साइट पर परिवर्तन की कोशिश करते हैं और तैनात करते हैं, तो सर्वर पर सभी साइटों को प्रभावित करेगा।
संपादित करें: हमने पहचाना है कि IIS प्रबंधक में साइट का एक स्टार्ट / स्टॉप (एप्लिकेशन पूल नहीं है) गलत तरीके से भौतिक पथ को हल करता है, लेकिन अगर मैं साइट का उपयोग कर ऐप को बंद कर देता हूं, तो भौतिक पथ को बदल देता हूं, और फिर इसे शुरू कर देता हूं, फिर भी मैं पीड़ित हूं वही मुद्दे। मैं एक रिक्त स्थान पर हूं ...