discuz添加memcached

回复 收藏
本帖最后由 liang 于 2016-4-26 21:56 编辑

网站业务架构演变过程
http://www.apelearn.com/bbs/foru ... d=8644&fromuid=6493


阅读上面的文章后做的实验
实验1一台WEB服务器一台mysql服务器
http://www.apelearn.com/bbs/foru ... =11876&fromuid=6493


实验二
2.jpg

在实验一的基础上web服务器上添加memcachedWeb服务器运行服务为discuz为例(其源代码中支持memcache)

1安装memcached

yum install -y epel-release                                ##安装前需要第三放epel源
yum install -y libevent  memcached  libmemcached

开机启动
chkconfig memcached  on

启动命令
/etc/init.d/memcached start      

查看进程是否启动
ps aux |grep memcached

查看memcached运行状态
memcached-tool 127.0.0.1:11211 stats


2php连接memcached

安装PHP扩展模块memcache.so
下载源码包
cd /usr/local/src
wget http://www.lishiming.net/data/attachment/forum/memcache-2.2.3.tgz

解压
tar zxvf memcache-2.2.3.tgz

编译安装
cd memcache-2.2.3

/usr/local/php/bin/phpize       ##生成./configure 文件

./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

查看生成的目录,是否生成.so模块
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
memcache.so

目录名太长修改目录名当然也可以不改
mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525  /usr/local/php/lib/php/extensions/memcache

在php.ini中修改扩展路径
vim /user/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/memcache/"

继续添加一行
extension = memcache.so

保存后可以利用 /usr/local/php/bin/php -m  检测和查看模块是否加载

测试php脚本
wget www.apelearn.com/study_v2/.memcache.txt

mv .memcache.txt   test.php
/usr/local/php/bin/php test.php

测试结果
Get key1 value: This is first valueGet key1 value: This is replace valueGet key2 value: Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => ddd
)

3Web服务器之前discuz开启memcache

到discuz网站根目录
cd /data/www

指定memcache IP (和mysql有点像)

vim config/config_global.php

将['server'] 这行后面的引号里添加memcache所在服务器IP这里memcache和Web在一台服务器上

$_config['memory']['memcache']['server'] = '127.0.0.1';
$_config['memory']['memcache']['port'] = 11211;
$_config['memory']['memcache']['pconnect'] = 1;
$_config['memory']['memcache']['timeout'] = 1;

修改保存后登录discuz后台管理中心

点击 全局----》性能优化----》 内存优化查看下面的memcache后面是否显示 支持开启 状态
QQ截图20160403181907.png


仅仅是完成实验memcache没有变更任何配置过程有误请指正


2016-04-03 18:46 举报
已邀请:
0

kevin_tao

赞同来自:

这里有没有办法把memcached像MySQL那样分离出来?分离出来之后,怎样保证访问先从memcached服务器去查找内容
0

liang

赞同来自:

kevin_tao 发表于 2016-4-22 19:57
这里有没有办法把memcached像MySQL那样分离出来?分离出来之后,怎样保证访问先从memcached服务器去查找内 ...

$_config['memory']['memcache']['server'] = '127.0.0.1';
$_config['memory']['memcache']['port'] = 11211;

你把这里的 memcache server ip 和port   改成你的单独 memcache服务器的IP,和连接mysql一样

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: