当新模块加载时,我的drupal站点变得非常沉重和缓慢.除了站点的商店部分之外,不需要其中一些模块.
我正在考虑创建一个store
子域,并以某种方式仅在该子域中加载这些模块.
这是否意味着我必须安装drupal两次,一次打开store.mydrupalsite.com
,一次打开mydrupalsite.com
?
在商店子域中,除了专用商店模块之外,我还必须重新安装基本模块,还是有办法让商店子域以某种方式从主站点继承模块?
如果用户已登录主站点,该怎么办?他们是否需要重新登录store
子域,还是有办法共享数据库?
这个想法真的有什么好处,还是我过于复杂化了?
如果我过度复杂化,我应该做些什么
小智.. 5
如果您在其他域上创建第二个站点,您实际上是在创建具有不同用户存储,不同配置和不同数据库的第二个单独站点.
您不必做的一件事是重新安装Drupal或重新下载所有模块:Drupal支持多站点配置,允许您在同一个Drupal安装中运行多个站点.如果您确保要为两个站点共享的模块位于sites/all文件夹中,那么您只需为站点文件夹中的每个网站创建一个包含所需域的新文件夹.
例如,如果您有mydrupalsite.com和store.mydrupalsite.com,则会在站点文件夹中创建名为mydrupalsite.com和store.mydrupalsite.com的两个文件夹.在这些文件夹中,您将拥有settings.php和一个文件文件夹,其中包含该特定站点的所有文件.
您可以在Drupal.org上阅读有关Drupal多站点功能的更多信息.
所有这一切,你所描述的可能不是最好的方法:将两个站点与不同的用户和数据存储同步是一个真正的难以维护.除非模块调用hook_init()或其他全局钩子,否则当页面实际使用它实现的一个钩子时,它会按需加载.
随着那说,有在核心模块油门,这将让你指定哪个模块时,现场被拥挤关闭.
但是Throttle只走了这么远.如果你想从Drupal安装中获得最大的性能,你应该开始研究缓存机制,比如Boost,Memcached,Varnish,甚至是Pressflow.
如果您在其他域上创建第二个站点,您实际上是在创建具有不同用户存储,不同配置和不同数据库的第二个单独站点.
您不必做的一件事是重新安装Drupal或重新下载所有模块:Drupal支持多站点配置,允许您在同一个Drupal安装中运行多个站点.如果您确保要为两个站点共享的模块位于sites/all文件夹中,那么您只需为站点文件夹中的每个网站创建一个包含所需域的新文件夹.
例如,如果您有mydrupalsite.com和store.mydrupalsite.com,则会在站点文件夹中创建名为mydrupalsite.com和store.mydrupalsite.com的两个文件夹.在这些文件夹中,您将拥有settings.php和一个文件文件夹,其中包含该特定站点的所有文件.
您可以在Drupal.org上阅读有关Drupal多站点功能的更多信息.
所有这一切,你所描述的可能不是最好的方法:将两个站点与不同的用户和数据存储同步是一个真正的难以维护.除非模块调用hook_init()或其他全局钩子,否则当页面实际使用它实现的一个钩子时,它会按需加载.
随着那说,有在核心模块油门,这将让你指定哪个模块时,现场被拥挤关闭.
但是Throttle只走了这么远.如果你想从Drupal安装中获得最大的性能,你应该开始研究缓存机制,比如Boost,Memcached,Varnish,甚至是Pressflow.