欢迎各位兄弟 发布技术文章
这里的技术是共享的
环境:CentOS 6.2 32位系统,PHP 5.4.25(由5.2.17升级到5.4.25),memcached 1.4.15
扩展包下载路径:http://pecl.php.net/package/memcache
刚开始安装的是3.0.6的memcache扩展包,扩展安装路径在
代码如下 | 复制代码 |
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcached.so |
在php.ini里也配置了扩展,配置如下:
代码如下 | 复制代码 |
[memcache] |
重启服务后,memcache还是无法使用,报以下错误:
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20100525
猜想跟扩展包的版本是不是有关,找了一个稳定版本memcache-2.2.7的包,安装一切顺利,PHP可连接memcache进行操作。
是什么原因造成以上报错呢?
查看phpize -v,显示以下信息:
代码如下 | 复制代码 |
Configuring for: |
为什么不一致呢?PHP版本导致的
补充:使用yum安装方法 从下面开始看吧 操作吧
1. 通过yum安装
代码如下yum search memcached 如果有,继续使用 yum 去安装,如果没有,你需要添加资源库到你的系统里。 yum install memcached //可以使用下面一行的命令吧
| 复制代码 |
yum -y install memcached #安装完成后执行: memcached -h |
#出现memcached帮助信息说明安装成功
2. 加入启动服务
代码如下 | 复制代码 |
chkconfig --level 2345 memcached on |
3. 配置Memcached
代码如下 | 复制代码 |
vim /etc/sysconfig/memcached |
4. 安装libmemached
代码如下 | 复制代码 |
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz //找不到这个文件 用下面的 cd libmemcached-1.0.16 |
5. 安装php-devel
代码如下 | 复制代码 |
yum install php-devel |
6. 安装PHP Memcached扩展
代码如下 | 复制代码 |
wget http://pecl.php.net/get/memcached-2.1.0.tgz //这个版本有点老吧 make && make install service php-fpm restart service nginx restart service httpd restart service memcached restart 我提示里面的提示 运行了 make test 好像是重装了一个服务器 ,我也不懂,但是千万不能这么做啊 来自 http://www.111cn.net/sys/linux/62613.htm 2014-11-26 22:48:33 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://8838848.blog.51cto.com/8828848/1583012 |
创建高性能 Drupal 应用:使用 Memcached
Memcached,是一套使用内存作为缓存的系统,可以有效的缓解数据库的压力,被很多大型网站广泛使用,Youtube,Twitter,WordPress.com 等等,Memcached 是高性能网站的标准配置。我们可以配置一下,让 Drupal 也可以使用 Memcached,需要用到 Drupal 的 Memcache API and Integration 模块。这个简单的配置手册,说明了在 CentOS 服务器上安装并配置 Memcached ,并让 Drupal 可以使用它。
Memcached ,是一个程序,可以运行在服务器上,就像运行 nginx,apache,或者 mysql 那样。PECL memcache 还有memcached 是两个不太一样的东西,它们的作用其实就是去跟 Memcached 服务进行沟通。另外,Drupal 有个模块叫 Memcache API and Integration (memcache),它的作用是让 Drupal 使用 PECL memcache 或者 memcached 去跟 Memcached 服务进行对话。
使用 yum 可以安装 Memcached,安装之前你也可以搜索一下资源库里是否有 Memcached:
yum search memcached
如果有,继续使用 yum 去安装,如果没有,你需要添加资源库到你的系统里。
yum install memcached
Drupal 的 Memcache API and Integration 模块,推荐使用 PECL memcache,并且要求最低版本是 3.0.6 或以上。这里我们得再去为系统添加一个资源库,才能安装高版本的 PECL memcache,可以安装 ius 资源库:
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm
然后:
rpm -ivh ius-release-1.0-11.ius.centos6.noarch.rpm
这样我们就可以使用 yum 命令,去安装 PECL memcache 了,你可以先去搜索一下,看看都有哪些可用的关于 memcache 的资源。这里我需要使用 php5.3 版本的 PECL memcache,所以可以这样:
yum install php53u-pecl-memcache
完成以后,重启一下 php-fpm , nginx 还有 memcached 服务,如果你用的是 apache 服务器的话,也需要重启 apache 服务。
service php-fpm restart service nginx restart service memcached restart
如果你想在正式的网站上安装 Memcache API and Integration 模块,你需要先开启 Drupal 的维护模块:admin/config/development/maintenance,然后使用 drush 或者在 Drupal 的模块管理界面去安装这个模块。
安装完成以后,我们得去修改一下 Drupal 的 settings.php ,这是 Drupal 的配置文件,默认是在sites/default/settings.php ,可以使用 vim 之类的命令去编辑一下这个文件。然后添加下面这几行代码:
// Make memcache the default cache class $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc'; $conf['cache_default_class'] = 'MemCacheDrupal'; // The 'cache_form' bin must be assigned no non-volatile storage. $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; // Tell Drupal not to bootstrap the database when serving cached pages to anonymous visitors $conf['page_cache_without_database'] = TRUE; $conf['page_cache_invoke_hooks'] = FALSE; $conf['memcache_key_prefix'] = 'ninghao1_';
memcache_key_prefix 这个配置是 memcache 所使用的前缀,就是如果多个 Drupal 网站使用同一个 Memcached 的话,可以分别去设置不同的前缀。这样可以区分一下。
在 admin/config/system/memcache 可以开启 memcache 的统计,这样在页面底部,你会看到 memcache 的使用情况。
在启用 Drupal 的 memcache 模块时,出现错误提示:
Notice: Undefined index: description 在 drupal_check_module() (行 1225 在 /home/www/nginx.ninghao.net/includes/install.inc).
(当前使用 Memcache Required PHP extension not found. Install the memcache (recommended) or memcached extension.)
这是因为,你还没有安装 PECL memcache 扩展。
打开 状态报告 时,报错:
Notice: Undefined index: value 在 theme_status_report() (行 2584 在 /home/www/nginx.ninghao.net/modules/system/system.admin.inc).
这应该是你还没有去修改 settings.php 文件。
Drupal memcache登录 - 评论
来自 https://ninghao.net/blog/1371
关于高性能的分布式内存对象缓存系统Memcached,我们在另一篇文章中有提到过“在windows系统下安装memcached”,这次一起来看看在Centos系统中如何安装Memcached和PHP Memcached扩展 I.安装MemcachedMemcached依赖libevent库,所以安装前可能需要执行
2.安装memcached 从 http://memcached.org/ 下载最新源码版,该处是(1.4.23)
3.配置memcached自启动 复制源码目录下scripts/memcached.sysv到/etc/init.d/memcached,需要修改/etc/init.d/memcached如下行:
(就是修改memcached所在路径) 然后执行如下命令即可:
使用以下指令启动服务
II.安装PHP Memcahced扩展memcache memcached extension memcached PHP extension for interfacing with memcached via libmemcached library memcached 的版本比较新,而且使用的是 libmemcached 库。libmemcached 被认为做过更好的优化,应该比 php only 版本的 memcache 有着更高的性能。所以这里安装的是memcached(假设php5.4已经安装在在/usr/local/php). 1. 安装依赖库 https://launchpad.net/libmemcached/1.0/1.0.4/+download/libmemcached-1.0.4.tar.gz
2.安装memcached http://pecl.php.net/get/memcached-2.0.1.tgz 下载,使用以下指令安装:
安装完成后,根据最后显示Installing shared extensions: /usr/local/***指示的目录路径,在该目录下找到生成的memcached.so,将其复制到php.ini的extension_dir指向的目录。修改php.ini增加行extension = memcached.so重启apache,再到页面上打开phpinfo信息页面,看看memcached扩展是否安装成功了。 当然我们也可以写一小段测试代码看看memcached是否已正常运行,具体做法请参考 在windows系统下安装memcached 一文 文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-183-1.html 来自 http://www.codetc.com/article-183-1.html |
评论
登录 - 评论
2 年 9 个月 以前
登录 - 评论
2 年 9 个月 以前
登录 - 评论
2 年 9 个月 以前
登录 - 评论
2 年 2 个月 以前
登录 - 评论
7 个月 3 天 以前