एक वेब रूट के रूप में NTFS जंक्शन वाले IIS 7 साइट की संभावित कमियां क्या हैं?


13

मैं ASP.NET कोड को कम से कम साइट अशांति के साथ तैनात करने का एक तरीका लेकर आने की कोशिश कर रहा हूं। एक विचार साइट एक NTFS जंक्शन से प्रस्तुत किया जाना करने के लिए स्थापित किया गया था c:\www\example.com, जहां

c:\www\example.com -> c:\www\example.com_r1234

फिर, जब नया कोड तैनात किया जाता है, तो इसे कॉपी कर लिया जाता है c:\www\site.com_r1235और जंक्शन को फिर से भेज दिया जाता है

c:\www\example.com -> c:\www\example.com_r1235

तो मेरा सवाल यह है कि IIS में वर्तमान अनुरोधों पर इसका क्या असर हो सकता है? आईआईएस की प्रतिक्रिया से लेकर परिवर्तन (यदि कोई हो) की दृष्टि से इसमें और क्या कमियां हो सकती हैं? क्या मुझे उम्मीद है कि साइट के अंतिम उपयोगकर्ता के लिए यह सहज होगा?

(मैंने कमांड लाइन के माध्यम से साइट की वेब रूट को बदलने पर विचार किया है, लेकिन मैं वास्तव में किसी भी अनावश्यक ऐप डोमेन या ऐप पूल मंथन के कारण IIS को पुन: कॉन्फ़िगर करने का विचार पसंद नहीं करता हूं जो हो सकता है, लेकिन मुझे इसके बारे में बहुत कुछ नहीं पता है क्या होता है जब लोड के दौरान किसी साइट के कॉन्फ़िगर किए गए भौतिक पथ को बदल दिया जाता है)

स्पष्ट होने के लिए, यहां मेरी एकमात्र चिंता मेरे अंतिम उपयोगकर्ताओं का अनुभव है। मेरा उद्देश्य उनके लिए गड़बड़ी से बचना है, मेरे लिए सुविधा नहीं।


1
वेब रूट को रीसेट करें। कोई भी पुनरावर्तन (ऐसा नहीं लगता ) और ऐप पूल रिस्टार्ट तब हैं) a) शायद "अनावश्यक" नहीं है, और b) कार्यकर्ता प्रक्रिया को उसकी सामग्री और कैश की स्थिति के बारे में यथार्थवादी विचार बनाए रखने में मदद करता है। यह एक चतुर समाधान है, यकीन है, लेकिन चालाक शायद ही कभी स्थिर का मतलब है। पता करें कि अधिकांश लोग क्या करते हैं, फिर ऐसा करें।
ट्रिस्टन

यह एक महान प्रश्न है, मैं लंबे समय से इसका उत्तर ढूंढ रहा हूं। मैंने कभी देखा है कि लोड बैलेंसर (जो मेरे पास नहीं है) या वेबरोट में फ़ाइलों की एक साधारण प्रतिलिपि / svn (जो मुझे पसंद नहीं है) के तहत एक रोलिंग तैनाती है।
jayrdubub

1
तो, पहले वेब रूट को पुनः प्राप्त करने का प्रयास करें।
TristanK

जवाबों:


3

ASP.NET कोड को कम से कम साइट अशांति के साथ तैनात करने का एक तरीका है।

ऐसा लगता है कि यह उद्देश्य और आपका प्रस्तावित समाधान संरेखित नहीं है, क्योंकि अब आपके पास हर काम के लिए अतिरिक्त काम या लिपियों का एक समूह है।

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


उस नेटवर्क ऑपरेशन से साइट की कलाकृतियाँ बहुत दूर तक अस्पष्टता की स्थिति में होंगी। यही सटीक स्थिति मैं बचने की कोशिश कर रहा हूं। मैं उस समय को खत्म करने की कोशिश कर रहा हूं, जहां वेबरोट के तहत असेंबली विभिन्न संस्करणों के हैं।
jayrdubub

1
"अतिरिक्त काम और स्क्रिप्ट शामिल" एक चिंता का विषय नहीं है, हम
jayrdub

मुझे लगता है कि निष्पक्ष होना, गड़बड़ी और आवश्यक काम वास्तव में एक ही चीज नहीं हैं
मार्क हेंडरसन

मेरी साइट के अंतिम उपयोगकर्ता की गड़बड़ी वह है जिसका मैं जिक्र कर रहा हूं
jayrdub

2

मैंने अपने वेब रूट नामक एक फोल्डर बनाया _images

C:\DEV\_IMAGES

फिर उसमें gif फ़ाइलों का एक गुच्छा कॉपी किया। फिर मैंने अपने रूट पर NTFS प्रतीकात्मक लिंक का उपयोग करके बनाया

C:\DEV\PROJECT\ROOT mklink /D webimages ..\_images

दृश्य स्टूडियो 2010 में मैंने "सभी फाइलें दिखाएं" फिर ताज़ा करें ... और मेरे प्रोजेक्ट में नए "वेबइमेज़" को शामिल करें। मैं अब इंगित कर सकता हूं ...

img src='webimages/icon.gif'

जब मैं ऐप चलाता हूं तो यह मेरे स्थानीय मशीन पर भी ठीक काम करता है।

मैं नहीं जानता कि क्या यह वास्तविक सर्वर (IIS 7) पर काम करता है जब तक कि बुनियादी ढांचे को इस पर एक हैंडल नहीं मिलता है, क्या किसी को किसी भी मुद्दे पर पता है कि यह उत्पादन में काम क्यों नहीं करेगा ??

मुझे लगता है कि जब तक अधिकार हैं, तब तक ऐसा होना चाहिए, और यदि ऐसा है तो वेब ऐप्स के बीच फ़ोल्डर्स (सभी प्रकार के) साझा करने को सरल बनाने का एक शानदार तरीका क्या है।

मैंने अभी तक टीएफएस में इसे व्यक्त करने की कोशिश नहीं की है, इसलिए यदि किसी की इस पर प्रतिक्रिया है तो हमें बताएं!


0

यह काम नहीं करेगा क्योंकि IIS सोच सकता है कि web.config दूसरे प्रोग्राम द्वारा बदल गया है। IIS शायद एक System.Configuration.ConfigurationErrorsException अपवाद फेंक देगा। मेरा सुझाव है कि साइट की होम डायरेक्टरी को बदलने के लिए किसी प्रकार की स्क्रिप्ट लिखना चाहिए।

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