2009-08-25 7 views
6

Ogólnie rzecz biorąc, mój rozwój obejmuje tylko małe i średnie firmy oraz witryny e-commerce.Jak radzić sobie z wieloma witrynami, które mają dostęp do jednego "mózgu"?

Mój następny projekt obejmie 30 witryn, ale będą one ze sobą w około 95% podobne. Chcę, żeby mieli 1 "mózg", co oznacza, że ​​mogę wprowadzać zmiany, aktualizacje do ram itp. Tylko raz.

Zastanawiam się, czy rodzina Stack Overflow to zrobić (superuser, stackoverflow, serverfault itp.).

Moje wybrane języki/platformy to PHP 5.3, MySQL 5 i Kohana Framework.

Mózg powinien mieć

  • 1 System administracyjny, który może obsłużyć każdą stronę
  • wszystkie szablony istnieje w mózgu - jednak mają zastępcze, na przykład tytuł, logo itp
  • sposób dzięki czemu mogę wdrożyć dowolną aktualizację globalnych szablonów automatycznie odfiltrować do wszystkich innych witryn.

Zdaję sobie sprawę, że wywarłoby to duży nacisk na mózg, więc musiałbym często korzystać z buforowania po stronie serwera.

Jak każdy mam dostęp mózgu domeny, więc na przykład:

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

cicho obejrzano http://www.mothership.com/mysite2/products/something

I byłoby to najlepszy sposób to zrobić? Czy masz jakieś wskazówki? Czy jestem na dobrej drodze?

Zapraszam do zadawania mi więcej szczegółów.

+0

są wszystkie miejsc na wspólnym serwerze, to znaczy mają ten sam adres IP? –

+0

Mogą być - jednak mam ograniczone doświadczenie w robieniu tego w ten sposób. – alex

+1

mothership.com ŁADNE! –

Odpowiedz

3

Najprostszym sposobem na to jest wirtualny hosting. Zasadniczo uruchamiasz wszystkie witryny na jednym komputerze. Jeden komputer ma konfigurację Apache, która obsługuje wszystkie witryny.

Jeśli witryny są bardziej podobne niż inne, wystarczy skierować wszystkie witryny do jednego katalogu. Pliki PHP mogą wykryć, która strona jest wyświetlana. Możesz podać inny nagłówek i stopkę dla każdej witryny, aby poradzić sobie z wyglądem i stylem. Możesz również ograniczyć niektóre strony w ten sposób.

Jeśli strony są bardziej różne niż podobne, należy skierować je do innego katalogu i mieć strony odnoszące się do tych stron w każdym katalogu.

Dla wspólnej funkcjonalności można użyć czegoś takiego jak mod_rewrite do mapowania adresów URL w różnych witrynach do tego samego skryptu lub możesz mieć skrypty PHP w każdej lokalizacji, które zawierają/wymagają wspólnej funkcjonalności.

Zasadniczo istnieje wiele opcji. Twoim celem powinno być uczynienie witryny łatwą w utrzymaniu i utrzymanie powielania kodu do absolutnego minimum.

Zgodnie z wnioskiem, zasugerował czytania:

+0

Twoje ostatnie zdanie opisuje dokładnie to, co próbuję osiągnąć. Nie mam zbyt dużo wiedzy, która konfiguruje Apache poza plikami .htaccess. Będę musiał dokonać pewnych badań - jakiejkolwiek zalecanej lektury Cletus? I dziękuję za odpowiedź. – alex

0

Możesz to osiągnąć w Apache używając <VirtualHost> Directive. Aby to zrobić w Apache 2.x, edytuj httpd.conf i odkomentuj tę linię (zwykle znajduje się w pobliżu końca pliku): Include conf/extra/httpd-vhosts.conf. Następnie zlokalizuj plik httpd-vhosts.conf i wejście VirtualHosts w następującym formacie:

<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

Czy znasz hosty, które umożliwiają modyfikowanie tego? – alex

+0

Musisz mieć uprawnienia administratora, aby modyfikować pliki systemowe. Najlepiej jest zarejestrować się w systemie hostingowym VPS, który zwykle zaczyna się od 25 USD miesięcznie. http://www.webhostingtalk.com/web-hosting-providers/vps-hosting – jusunlee

Powiązane problemy