हम एक समान सेटअप रोजगार Capistrano का उपयोग कर रहे हैं। हालांकि, हमने कुछ समस्याओं में भाग लिया है:
सेटअप पर स्विच करने के बाद, चीजें ठीक होने लगती हैं, लेकिन फिर हमने cap deploy
चलाने के बाद इसे ध्यान में रखना शुरू किया, भले ही symlink को सिर की ओर इंगित किया गया हो संशोधन, ब्राउज़र कई पुराने रीफ्रेश और विभिन्न जीईटी पैरामीटर जोड़ने के बाद भी पुराने पेज दिखाएगा।
पहले, हमने सोचा था कि यह ब्राउज़र कैशिंग था, इसलिए विकास के लिए हमने HTTP शीर्षलेखों के माध्यम से ब्राउज़र कैशिंग अक्षम कर दिया, लेकिन इससे कुछ भी नहीं बदला। फिर मैंने यह सुनिश्चित करने के लिए जांच की कि हम पूर्ण-पृष्ठ कैशिंग सर्वर-पक्ष नहीं कर रहे थे, और हम नहीं थे। लेकिन मैंने तब देखा कि अगर मैंने संशोधित करने के लिए इस्तेमाल किए गए सिल्लिंक में एक फ़ाइल हटा दी है, तो हमें 404 मिलेंगे, इसलिए अपाचे नए पृष्ठों की सेवा कर रहा था, लेकिन यह अभी भी "पुराना सिम्लिंक" का पालन कर रहा था और पृष्ठों को सेवारत कर रहा था गलत निर्देशिका
यह साझा होस्टिंग पर है, इसलिए मैं अपाचे को पुनरारंभ करने में सक्षम नहीं था। इसलिए मैंने सिम्लिंक को हटाने और हर बार एक नया निर्माण करने की कोशिश की। यह कभी-कभी काम करने लग रहा था, लेकिन भरोसेमंद नहीं। यह संभवतः 25 ~ 50% समय काम करता था।
आखिरकार, मैंने पाया है कि अगर मैं:
- मौजूदा सिमलिंक हटाया (इसे हटाने या इसका नाम);
- एक पृष्ठ का अनुरोध किया, सिमलिंक हल लेकिन फिर
इसे करने के लिए docroot कारण होगा नई निर्देशिका के लिए एक नया सिमलिंक बनाई गई यह
(404 में जिसके परिणामस्वरूप) याद आ रही खोजने के लिए प्रयास करने के लिए अपाचे के कारण ज्यादातर समय सही ढंग से अद्यतन किया जाना चाहिए।हालांकि, यह भी सही नहीं है, और लगभग 2-5% समय, जब तैनाती स्क्रिप्ट पुराने सिम्लिंक का नाम बदलने के बाद एक पृष्ठ लाने के लिए wget
चलाती है, तो यह 404 के बजाय पुराना पृष्ठ लौटाएगी। ऐसा लगता है जैसे अपाचे या तो फाइल सिस्टम को कैशिंग कर रहा है, या शायद mv
कमांड ने केवल फाइल सिस्टम को स्मृति में बदल दिया है जबकि अपाचे डिस्क पर फाइल सिस्टम से पढ़ रहा था (वास्तव में कोई समझ नहीं आता है)। किसी भी मामले में, मैंने सिमलिंक परिवर्तनों के बाद sync
चलाने के लिए किसी की सिफारिश की है, जिसे स्मृति पर सिंक्रनाइज़ेशन में डिस्क पर फाइल सिस्टम प्राप्त करना चाहिए, और शायद थोड़ी देर देरी wget
को 404 लौटने में मदद करेगी।
स्रोत
2012-01-12 06:22:43
I मैं सोच रहा हूं "आरएम/var/www/html/finalbuild & ln -s/home/user/build4/var/www/html/finalbuild"। आपको अपाचे को पुनरारंभ करने की भी आवश्यकता नहीं हो सकती है। – barrycarter
धन्यवाद, मैंने डॉक्रोट बदल दिया है और इसे एक सिम्लिंक पर इंगित किया है, लेकिन अपाचे को सुनने में प्रतीत नहीं होता है ... मैंने apache सफलतापूर्वक, किसी भी विचार को फिर से शुरू कर दिया है? – Jorre
मैं भी इसके लिए एक जवाब खोजने की कोशिश कर रहा हूं। अपाचे सिर्फ मुझे 403 त्रुटि दे रहा है। अब तक कोई भाग्य नहीं है। संभवतः क्योंकि उत्पादन में ऐसा करने का बुरा अभ्यास है। बस इसे मेरे देव बॉक्स पर करना चाहते हैं। – nedned