2009-08-25 11 views
6

आम तौर पर, मेरे विकास में केवल छोटे से मध्यम आकार की कंपनियों और ई वाणिज्य साइटों को शामिल किया गया है।एक 'मस्तिष्क' तक पहुंचने वाली मल्टीप्ली साइटों से कैसे निपटें?

मेरी अगली परियोजना में 30 साइटें शामिल होंगी - हालांकि, उनके पास एक-दूसरे के साथ लगभग 9 5% आम होगा। मैं चाहता हूं कि उन्हें 1 'मस्तिष्क' हो, जिसका अर्थ है कि मैं परिवर्तनों को रोल कर सकता हूं, फ्रेमवर्क आदि को अपडेट कर सकता हूं।

मुझे आश्चर्य है कि साइट के स्टैक ओवरफ़्लो परिवार ऐसा करते हैं (सुपरसियर, स्टैक ओवरफ्लो, सर्वरफॉल्ट इत्यादि)।

मेरी भाषा/पसंद के प्लेटफॉर्म PHP 5.3, MySQL 5 और कोहाना फ्रेमवर्क हैं।

मस्तिष्क

  • 1 व्यवस्थापक प्रणाली है कि हर साइट
  • सभी टेम्पलेट्स मस्तिष्क में मौजूद संभाल कर सकते हैं करना चाहिए था - लेकिन वे प्लेसहोल्डर है, उदाहरण के लिए, शीर्षक, लोगो, आदि
  • एक तरह से तो मैं वैश्विक टेम्पलेट्स को किसी भी अपडेट को रोल कर सकता हूं स्वचालित रूप से सभी अन्य साइटों पर फ़िल्टर हो जाएगा।

मुझे एहसास है कि यह मस्तिष्क पर बहुत अधिक तनाव डालेगा, इसलिए मुझे सर्वर साइड कैशिंग का बहुत उपयोग करना होगा।

मैं कैसे उदाहरण के लिए हां, तो प्रत्येक डोमेन का उपयोग मस्तिष्क होगा:

http://www.mysite2.com/products/something

चुपचाप http://www.mothership.com/mysite2/products/something

पहुँचा और वह यह करने के लिए सबसे अच्छा तरीका क्या होगा? क्या आपके पास कोई टिप हैं? क्या मैं सही रास्ते पर हूं?

मुझे और अधिक विशिष्ट पूछने के लिए स्वतंत्र महसूस करें।

+0

एक साझा सर्वर पर सभी साइटों के हैं, यानी एक ही आईपी पता है? –

+0

वे हो सकते हैं - हालांकि मुझे इस तरह से करने के साथ सीमित अनुभव है। – alex

+1

mothership.com नाइस! –

उत्तर

3

ऐसा करने का सबसे आसान तरीका आभासी होस्टिंग के साथ है। असल में आप एक ही मशीन पर सभी साइटों को चलाते हैं। एक मशीन में अपाचे कॉन्फ़िगर होता है जो सभी साइटों परोसता है।

यदि साइटें अलग से अधिक समान हैं तो बस सभी साइटों को एक निर्देशिका में इंगित करें। PHP फाइलें यह पता लगा सकती हैं कि वे कौन सी साइट परोस रहे हैं। देखो और महसूस करने के लिए आप प्रत्येक साइट के लिए एक अलग हेडर और पाद लेख प्रदान कर सकते हैं। आप इस तरह से कुछ पृष्ठों को भी सीमित कर सकते हैं।

यदि साइटें समान से अधिक भिन्न हैं तो प्रत्येक को एक अलग निर्देशिका में इंगित करें और प्रत्येक निर्देशिका में उन साइटों के लिए प्रासंगिक पृष्ठ हैं।

सामान्य कार्यक्षमता के लिए आप एक ही स्क्रिप्ट पर विभिन्न साइटों पर यूआरएल मैप करने के लिए mod_rewrite जैसे कुछ का उपयोग कर सकते हैं या आपके पास प्रत्येक स्थान पर PHP स्क्रिप्ट हो सकती हैं जिसमें सामान्य कार्यक्षमता शामिल/आवश्यकता होती है।

असल में बहुत सारे विकल्प हैं। आपका लक्ष्य साइट को बनाए रखने के लिए आसान बनाना चाहिए और कोड डुप्लिकेशन को पूर्ण न्यूनतम तक रखना चाहिए।

के रूप में अनुरोध किया है, पढ़ने का सुझाव दिया:

+0

आपकी आखिरी वाक्य वास्तव में वर्णन करती है कि मैं क्या हासिल करने की कोशिश कर रहा हूं। मेरे पास बहुत अधिक ज्ञान नहीं है जो अपाचे को .htaccess फ़ाइलों के बाहर कॉन्फ़िगर कर रहा है। मुझे कुछ शोध करना होगा - किसी भी अनुशंसित पढ़ने वाले कैलेटस? और आपके उत्तर के लिए धन्यवाद। – alex

0

आप इसे <VirtualHost> Directive का उपयोग करके अपाचे में प्राप्त कर सकते हैं। Apache 2.x के तहत ऐसा करने के लिए, httpd.conf संपादित करें और इस लाइन को असम्बद्ध करें (आमतौर पर फ़ाइल के अंत के पास पाया जाता है): Include conf/extra/httpd-vhosts.conf। फिर फ़ाइल httpd-vhosts.conf और प्रवेश इस प्रारूप में VirtualHosts का पता लगाने:

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site1 
ServerName site1.com 
</VirtualHost> 

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site2 
ServerName site2.com 
</VirtualHost> 

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site2 
ServerName site3.com 
</VirtualHost> 
+0

क्या आप किसी भी मेजबान के बारे में जानते हैं जो आपको इसे संशोधित करने देता है? – alex

+0

आपको सिस्टम फ़ाइलों को संशोधित करने के लिए रूट पहुंच की आवश्यकता होगी। आप सबसे अच्छा शर्त है कि एक वीपीएस होस्टिंग समाधान के लिए साइन अप करना है, जो आम तौर पर $ 25 प्रति माह से शुरू होता है। http://www.webhostingtalk.com/web-hosting-providers/vps-hosting – jusunlee