2009-07-01 15 views
10

मेरे पास एम्बेडेड wsgi का उपयोग करके apache पर django का एक स्थापित है। मेरे पास मशीन पर रूट नहीं है।रूट के बिना django wsgi स्क्रिप्ट को दोबारा लोड करें

जब मैं नया स्रोत कोड तैनात करता हूं तो पाइथन उदाहरण को फिर से लोड करने के लिए अपाचे कैसे बता सकता हूं?

मैंने सभी .pyc फ़ाइलों को हटाने का प्रयास किया और यह अभी भी पुराना कोड चला रहा है।

उत्तर

5

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

mod_wsgi के साथ स्रोत कोड को फिर से लोड के बारे में इस लेख में स्रोत कोड को फिर से लोड करने के लिए, और में चला जाता है यहां तक ​​कि जब आप स्रोत परिवर्तन करने के लिए स्वचालित रूप डेमॉन को फिर से लोड करने के लिए एक मॉनिटर स्क्रिप्ट बनाने के लिए कैसे। Mod_wsgi का उपयोग करके विकास वातावरण स्थापित करने के लिए यह वास्तव में अच्छा है।

+1

यह लिंक 'MaxRequestsPerChild 1' की अनुशंसा करता है जो मेरे प्रदर्शन को मार देगा। जब भी मैं धक्का करता हूं तो मैं इसे फिर से लोड करने का एक तरीका ढूंढ रहा था। –

+0

आपको इसका उपयोग करने की ज़रूरत नहीं है ... लेख में अगले तीन खंडों को डेमॉन मोड और कोड परिवर्तन निगरानी के बारे में देखें। –

+0

डेमॉन मोड उत्तर है। अपाचे कॉन्फ़िगरेशन में दो पंक्तियां, और इसका प्रदर्शन लागत नहीं होना चाहिए। धन्यवाद –

14

यदि आप अपाचे के साथ डिमन मोड में mod_wsgi चला रहे हैं, तो आपको इसे पुनः लोड करने के लिए अपाचे को पुनरारंभ करने की आवश्यकता नहीं हो सकती है।

मैं बस अपनी wsgi फ़ाइल को स्पर्श करता हूं (यूनिक्स: किसी फ़ाइल की 'सहेजी गई तारीख' को अपडेट करता है) और अपाचे इसे अगली एक्सेस/वेब-हिट पर पुनः लोड करता है।

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

देखें ... जब तक आप WSGI स्क्रिप्ट पर टाइमस्टैम्प बदल सकते हैं।

+3

"स्पर्श filename.wsgi" इसे करने का सही तरीका है, और रूट की आवश्यकता नहीं है या अपाचे को पुनरारंभ करना आवश्यक नहीं है। चूंकि मैं आम तौर पर केवल नए कोड को देखने के बाद ही ऐसा करना चाहता हूं, इसलिए मैंने नवीनतम कोड प्राप्त करने के लिए उपनाम स्थापित किया है और एक ही समय में wsgi को स्पर्श किया है, उदाहरण के लिए: ऊर्फ अपक्रिस्ट = 'सीडी/होम/क्रेस्ट/साइट्स/प्रोजेक्ट्स/ourcrestmont; एसवीएन अप; स्पर्श /home/crest/our/ourcrestmont.wsgi ' – shacker

+0

बिल्कुल! कमांड उपनाम के साथ अच्छा विचार। – joej

+0

कुछ पकड़ शांत हैं, http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode#Reloading_In_Embedded_Mode देखें – Wernight

संबंधित मुद्दे