2010-07-28 7 views
1

새 모듈이로드 될 때 Drupal 사이트가 매우 무겁고 느려집니다. 이 모듈 중 일부는 사이트의 상점 섹션을 제외하고는 필요하지 않습니다.drupal 하위 도메인의 모듈

store 하위 도메인을 만들고 어떻게 든 그 하위 도메인에만 해당 모듈을로드하려고합니다. 내가 mydrupalsite.com 한 번 store.mydrupalsite.com에 한 번, 두 번 드루팔을 설치해야한다는

  • 은 그 의미합니까?
  • 저장소 하위 도메인에서 특수 저장소 모듈 외에도 기본 모듈을 다시 설치해야합니까? 아니면 저장소 하위 도메인을 주 사이트에서 모듈 상속받는 방법이 있습니까?
  • 사용자가 이미 기본 사이트에 로그인 한 경우 어떻게됩니까? 그들은 store 하위 도메인에 다시 로그인해야합니까, 아니면 데이터베이스를 공유 할 수있는 방법이 있습니까?
  • 이 아이디어에는 어떤 실질적인 이점이 있습니까, 아니면 복잡한 것을 넘어서겠습니까? 내가 복잡하게 일 이상 해요 경우
  • , 난 당신이 다른 도메인에 두 번째 사이트를 만드는 경우

답변

5

, 당신은 본질적으로 다른 사용자 저장소와 두 번째, 별도의 사이트를 만드는 대신 무슨 일을해야한다, 다른 구성 및 다른 데이터베이스로 구성됩니다. 당신이 할 필요가 없습니다 것입니다

한 가지 드루팔을 다시 설치하거나 모든 모듈을 다시 다운로드입니다 : 드루팔이 설치 같은 드루팔을 실행하는 여러 사이트가 있습니다 다중 confgurations이라는 것을 지원합니다. 두 사이트 모두에 공유하려는 모듈이 sites/all 폴더에 있는지 확인하는 경우 원하는 도메인이있는 sites 폴더에 각 웹 사이트의 새 폴더를 만듭니다.

예를 들어 mydrupalsite.com 및 store.mydrupalsite.com을 사용하는 경우 mydrupalsite.com 및 store.mydrupalsite.com이라는 사이트 폴더에 두 개의 폴더를 만듭니다. 이 폴더에는 settings.php와 특정 사이트의 모든 파일이 들어있는 파일 폴더가 있습니다.

Drupal.org에서 Drupal's multisite feature에 대한 자세한 내용을 볼 수 있습니다.

모두 당신이 묘사하는 것은 아마 최선의 방법이 아닙니다. 두 사이트를 서로 다른 사용자 및 데이터 저장소와 동기화하면 유지 관리하는 것이 어려울 것입니다. 그리고 모듈이 hook_init() 또는 다른 전역 후크를 호출하지 않는 한, 페이지가 실제로 구현 한 후크 중 하나를 사용할 때 필요에 따라로드됩니다.

으로, 코어 모듈 Throttle이 있습니다.이 모듈을 사용하면 사이트가 혼잡 해지면 꺼지는 모듈을 지정할 수 있습니다.

그러나 스로틀은 지금까지만 진행됩니다. Drupal 설치를 최대한 활용하려면 Boost, Memcached, Varnish 또는 Pressflow과 같은 캐싱 메커니즘을 조사해야합니다.

4

settings.php를 보면 multisite이라는 매우 유용한 설명이 있습니다.

설정에서.ph :

* The configuration file to be loaded is based upon the rules below. 
* 
* The configuration directory will be discovered by stripping the 
* website's hostname from left to right and pathname from right to 
* left. The first configuration file found will be used and any 
* others will be ignored. If no other configuration file is found 
* then the default configuration file at 'sites/default' will be used. 
* 
* For example, for a fictitious site installed at 
* http://www.drupal.org/mysite/test/, the 'settings.php' 
* is searched in the following directories: 
* 
* 1. sites/www.drupal.org.mysite.test 
* 2. sites/drupal.org.mysite.test 
* 3. sites/org.mysite.test 
* 
* 4. sites/www.drupal.org.mysite 
* 5. sites/drupal.org.mysite 
* 6. sites/org.mysite 
* 
* 7. sites/www.drupal.org 
* 8. sites/drupal.org 
* 9. sites/org 
* 
* 10. sites/default 
* 
* If you are installing on a non-standard port number, prefix the 
* hostname with that number. For example, 
* http://www.drupal.org:8080/mysite/test/ could be loaded from 

So. 디렉토리 store.example.com을 만들고 해당 도메인에 대해서만 settings.php를 배치하십시오. 해당 디렉토리 안에 디렉토리 modules을 만들고 거기에 해당 도메인에만 표시되어야하는 모든 모듈을 배치하십시오.