公司的网站可能会遇到访问瓶颈。如何解决这个问题,一直是压在项目组头上的乌云。
由于没有做过大网站的经验,所以在网上去收集了很多资料,于是有了对memcached的了解以及应用。
一、编译环境的准备
---------------------------------------------------------------------------------------------------------
yum install gcc
yum install gcc-c++ libstdc++-devel
yum install zlib-devel
---------------------------------------------------------------------------------------------------------
二、源码包准备
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.13 。
wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz --no-check-certificate
准备Memcached的PHP扩展的源码安装包:
wget http://pecl.php.net/get/memcache-3.0.6.tgz
三、安装与配置
1、编译安装libevent
./configure --prefix=/usr
make & make install
测试libevent是否安装成功:
ls -al /usr/lib | grep libevent
2、安装memcached,同时需要安装中指定libevent的安装位置
./configure --with-libevent=/usr
make & make install
测试是否成功安装memcached:
ls -al /usr/local/bin/mem*
3、开启Memcached守护进程
---------------------------------------------------------------------------------------------------------
memcached -d -u root
---------------------------------------------------------------------------------------------------------
#连接参数
-p 监听端口
-l 连接的IP地址,默认是本机
-d start启动memecache服务
-d restart重启
-d stop|shutdown关闭服务
-d install 安装
-d uninstall 卸载
-u 以身份运行仅在root下有效
-m 最大内存使用,单位MB,默认64MB,最大2G
-M 内存耗尽时返回错误
-c 最大同时连接数量,默认是1024
-f 块大小增长因为,默认是1.25
-n 最小分配空间,key+value+flags默认48
-h 显示帮助
4、使用telnet连接测试安装是否成功
---------------------------------------------------------------------------------------------------------
telnet localhost 11211
#直接按回车会出现客户端错误.
quit #退出
---------------------------------------------------------------------------------------------------------
四、php扩展的安装
1、编译安装libmemcached
---------------------------------------------------------------------------------------------------------
./configure --prefix=/usr/local/libmemcached
make && make install
---------------------------------------------------------------------------------------------------------
2、找到phpize目录
---------------------------------------------------------------------------------------------------------
find / -name phpize
---------------------------------------------------------------------------------------------------------
根据返回值填写,在CentOS下一般是 /usr/bin/phpize。
3、安装php-memcache
---------------------------------------------------------------------------------------------------------
/usr/bin/phpize
./configure --enable-memcache --with-php-config=/usr/bin/php-config --prefix=/usr/local/memcached --with-zlib-dir
#./configure --with-php-config=/usr/bin/php-config --prefix=/usr/local/memcached --with-libmemcached-dir=/usr/local/libmemcached
make && make install
---------------------------------------------------------------------------------------------------------
安装完成后会提示:
Installing shared extensions: /usr/lib/php/modules/
4、修改PHP的配置
把php.ini中的extension_dir = “./”修改为
---------------------------------------------------------------------------------------------------------
extension_dir = “/usr/lib/php/extensions/no-debug-non-zts-2007xxxx/”
extension=memcached.so
---------------------------------------------------------------------------------------------------------
5、一些说明
安装中可能存在这样的警告信息:
---------------------------------------------------------------------------------------------------------
##configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar -zxvf re2c-0.13.5.tar.gz
cd re2c-0.13.5
./configure && make && make install
---------------------------------------------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com