2009-12-22 13 views
5

तो मैं अजगर में और अधिक वेब विकास करने की कोशिश कर रहा हूं, और मैंने चेरीपी को चुना है, जो lighttpd w/fastcgi द्वारा होस्ट किया गया है। लेकिन मेरा सवाल एक बहुत ही बुनियादी बात है: जब भी मैं अपना आवेदन कोड बदलता हूं, या अंतर्निहित लाइब्रेरी के लिए कोड बदलता हूं तो मुझे lighttpd (या apache) को पुनरारंभ करने की आवश्यकता क्यों होती है?फास्टसी, चेरीपी, और पायथन

मुझे एहसास है कि यह प्रश्न फास्टसीजी मॉडल की मूल गलत (यानी गरीब) समझ से फैला है, इसलिए मैं यहां किसी भी स्कूली शिक्षा के लिए खुला हूं, लेकिन मुझे केवल एक PHP फ़ाइल बदलने और यह दिखा रहा है, बनाम बनाम वेब सर्वर उछाल करने के लिए।

कोई भी स्पष्टता/उपयोगी मॉकरी सराहना की।

+1

"उछाल"? क्या इसका मतलब है "पुनरारंभ करें" या कुछ? आमतौर पर कंप्यूटर "बाउंस" में किसी चीज को पुनर्प्राप्त करने के प्रयास को संदर्भित किया जाता है जिसे किसी त्रुटि, या समान अवधारणाओं के रूप में खारिज कर दिया जाता है। –

+0

यूप, बाउंस, प्रक्रिया को पुनरारंभ करने के लिए। आम तौर पर मेरे अनुभव में लोग हमेशा अपाचे, टोमकैट इत्यादि उछालने के बारे में बात करते हैं – Wells

+0

संबंधित: http://stackoverflow.com/questions/1711483/python-web-hosting-why-are-server-restarts-necessary – miku

उत्तर

8

यह प्रदर्शन की वजह से है। विकास के लिए, ऑटोरेलोडिंग सहायक है। लेकिन उत्पादन के लिए, आप स्वत: लोड करना चाहते हैं। यह वास्तव में PHP कहने में एक निश्चित रूप से आकार की बाधा है। हर बार जब आप एक PHP वेबपृष्ठ तक पहुंचते हैं, तो सर्वर को प्रत्येक पृष्ठ को खरोंच से लोड करना और लोड करना होता है। पायथन के साथ, स्क्रिप्ट पहले ही लोड हो चुकी है और पहली पहुंच के बाद चल रही है।

जैसा कि बताया गया है, चेरीपी की एक ऑटोरेलोड सेटिंग है। मैं विकास के लिए चेरीपी निर्मित सर्वर का उपयोग करने और उत्पादन के लिए lighttpd का उपयोग करने की सलाह दूंगा। इससे आपको कुछ समय बचाएगा। tutorial आपको दिखाता है कि यह कैसे करें।

+0

पर परिभाषा 4 के रूप में उछाल धन्यवाद- मैं एक गुगलिंग पर बहुत सारी टिप्पणियों को देख रहा हूं कि फ्लिप का काम फिर से नहीं लग रहा है जब चेरीपी के ऑटो रीलोडिंग क्या कोई विचार है? मुझे लगता है कि मैं एक गैर-फ्लुप डब्लूएसजीआई मॉड्यूल का उपयोग कर सकता हूं। – Wells

+2

ध्यान रखें कि चेरीपी वास्तव में दो घटक हैं: एक ढांचा और सर्वर। यदि आप lighttpd का उपयोग कर रहे हैं, तो आप केवल ढांचे का उपयोग कर रहे हैं। यदि आप विकास में सर्वर का उपयोग करते हैं, तो आपको इसके बारे में चिंता करने की आवश्यकता नहीं है क्योंकि यह स्वचालित रूप से स्वत: लोड हो जाएगा। एक बार जब आप उत्पादन में जाते हैं, * तब * मैं lighttpd पर स्विच करूंगा। –

0

देखने के एक प्रणाली सॉफ्टवेयर-लेखक के सूचक से: यह सब कैसे सर्वर प्रक्रिया के बारे में मेटा डेटा अपने डेमॉन (lighttpd या fcgi) के भीतर आयोजित किया जाता है पर निर्भर करता है। कुछ कार्यक्रम केवल एक ही समय के लिए डिज़ाइन किए गए हैं - सबसे पहले यह एक बहुत ही सरल और बेहतर प्रदर्शन करने वाला आंतरिक प्रोग्रामिंग मॉडल की अनुमति देता है।

अक्सर एक सर्वर प्रक्रिया रीलोड कॉन्फ़िगरेशन डेटा को एक आसान तरीके से प्रोग्राम करना बहुत कठिन होता है। आपको ताले और बाहरी घटना वस्तुओं (यूनिक्स में सिग्नल) पेश करना पड़ सकता है। जब आप डिज़ाइन द्वारा डेटा संरचनाओं को सिंक्रनाइज़ कर सकते हैं - यानी, केवल एक बार प्रारंभ करना .... डेटा मॉडल को कई बार संशोधित करके चीजों को जटिल क्यों करें?

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