Drupal7中配置Memcache方法详解
Memcache的配置就不多说,drupal由于模块较多,数据库调用频繁,因此memcache是drupal站点中必备的配置,本文大概列一下Drupal7中关于memcache的配置情况,以方便大家查阅。
1.安装memcache服务以及启动memcached.
2.安装drupal的memcache模块.(http://drupal.org/project/memcache)
3.配置settings.php
实例代码如下:
- $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
- // The 'cache_form' bin must be assigned no non-volatile storage.
- $conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
- $conf['cache_default_class'] = 'MemCacheDrupal';
- $conf['memcache_key_prefix'] = 'something_unique';
注意,需要将memcache.inc的文件路径写正确,如Drupal模块目录组织方式总结中提到,我们一般将memcache模块会放置在contrib文件夹下面,因此路径可能是 sites/all/modules/contrib/memcache/memcache.inc,此外memcache_key_prefix最好设置一下。
4.多个memcachd服务。
默认情况下,如果不配置memcache_servers以及memcache_bins的话,Drupal会认为只有一个server,即127.0.0.1:11211,如果有多个memcache实例的话,需要添加如下配置,代码如下:
- $conf['memcache_servers'] = array(
- '10.1.1.1:11211' => 'default',
- '10.1.1.1:11212' => 'default',
- '10.1.1.2:11211' => 'default',
- '10.1.1.3:11211' => 'cluster2',
- '10.1.1.4:11211' => 'cluster2'
- );
- $conf['memcache_bins'] = array(
- 'cache' => 'default',
- 'cache_filter' => 'cluster2',
- 'cache_menu' => 'cluster2'
- );
一切就绪,最后讲解一下单台机器如何配置多个memcache实例,即单台机器的memcache集群搭建。
我们需要修改2个文件,一个是启动脚本/etc/init.d/memcached-multi,另一个是配置文件/etc/sysconfig/memcached,代码如下:
/etc/sysconfig/memcached
是用来配置多个memcache实例的大小,代码如下:
- PORT="11211"
- USER="memcached"
- MAXCONN="1024"
- CACHESIZE="512"
- OPTIONS=""
- MULTIBUCKET="2"
- CACHESIZEARRAY[1]="1024"
- CACHESIZEARRAY[2]="128"/etc/init.d/memcached-multi
是用来启动memcache集群,(start、stop、restart),代码如下:
- #! /bin/sh
- #
- # chkconfig: - 55 45
- # description: The memcached daemon is a network memory cache service.
- # processname: memcached
- # config: /etc/sysconfig/memcached
- # pidfile: /var/run/memcached/memcached.pid
- # Standard LSB functions
- #. /lib/lsb/init-functions
- # Source function library.
- . /etc/init.d/functions
- PORT=11211
- USER=memcached
- MAXCONN=1024
- CACHESIZE=64
- OPTIONS=""
- MULTIBUCKET=""
- if [ -f /etc/sysconfig/memcached ];then
- . /etc/sysconfig/memcached
- fi
- [ -z "$MULTIBUCKET" ] && MULTIBUCKET=1
- # Check that networking is up.
- . /etc/sysconfig/network
- if [ "$NETWORKING" = "no" ]
- then
- exit 0
- fi
- RETVAL=0
- prog="memcached"
- start () {
- echo -n $"Starting $prog: "
- # insure that /var/run/memcached has proper permissions
- if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then
- chown $USER /var/run/memcached
- fi
- for i in `/usr/bin/seq 1 $MULTIBUCKET`; do
- THISCACHESIZE=$CACHESIZE
- [ ${#CACHESIZEARRAY[*]} -gt 0 -a ${CACHESIZEARRAY[$i]:-0} -gt 0 ] && THISCACHESIZE=${CACHESIZEARRAY[$i]}
- daemon --pidfile /var/run/memcached/memcached.pid memcached -d -p $PORT -u $USER -m $THISCACHESIZE -c $MAXCONN -P /var/run/memcached/memcached-$i.pid $OPTIONS
- let RETVAL=$RETVAL+$?
- let PORT=$PORT+1
- done
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
- }
- stop () {
- echo -n $"Stopping $prog: "
- for i in `/usr/bin/seq 1 $MULTIBUCKET`; do
- killproc -p /var/run/memcached/memcached-$i.pid /usr/bin/memcached
- let RETVAL=$RETVAL+$?
- done
- echo
- if [ $RETVAL -eq 0 ] ; then
- rm -f /var/lock/subsys/memcached
- rm -f /var/run/memcached.pid
- fi
- }
- restart () {
- stop
- start
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- echo "Warning: This status check is laughable. Inspect netstat or ps output manually."
- status memcached
- ;;
- restart|reload|force-reload)
- restart
- ;;
- condrestart)
- [ -f /var/lock/subsys/memcached ] && restart || :
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
- exit 1
- esac
- exit $RETVAL
至此一些就绪.
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/php/3757.shtml
相关文章
热门TAG
服务器 命令 技巧 详解 调用 标签 功能 织梦 javascript dedecms修改内容 织梦教程 php 白帽 企业网站 外链 权重 MYSQL 网站流量 实例解析 JSP 网站收录 搜索引擎 蜘蛛 windows jquery jquery教程 python tags标签 HTML 织梦cms最新文章
-
php实现将wav文件转换成图
时间:2021-01-11
-
PHP判断是否为空的几个函
时间:2021-01-11
-
护卫神php套件 php版本升级
时间:2021-01-10
-
浅析iis7.5安装配置php环境
时间:2021-01-10
-
PHP异常处理浅析
时间:2021-01-06
-
PHP嵌套输出缓冲代码实例
时间:2021-01-06
-
PHP的伪随机数与真随机数
时间:2021-01-04
-
php实现的日历程序
时间:2020-12-29
热门文章
-
2019年最好用的10个php开发工具推荐
时间:2020-12-23
-
PHP的伪随机数与真随机数详解
时间:2021-01-04
-
PHP中把错误日志保存在系统日志中(Win
时间:2020-12-29
-
浅析iis7.5安装配置php环境
时间:2021-01-10
-
Destoon启用https 后台登录不了
时间:2020-12-23
-
php实现的日历程序
时间:2020-12-29
-
PHP实现链式操作的核心思想
时间:2020-12-29
-
php工作前景怎么样
时间:2020-12-19
-
10个免费的PHP编辑器/开发工具推荐
时间:2020-12-23
-
什么是PHP?其优势有哪些?
时间:2020-12-23
