<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[Memcache的安装(Linux+Nginx+PHP+Memcached)]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Wed, 25 Apr 2012 08:16:29 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	一、源码包准备<br/>服务器端主要是安装memcache服务器端，目前的最新版本是 memcached-v1.4.4 。<br/>下载：<a href="http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz" target="_blank">http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz</a><br/>另外，Memcache用到了libevent这个库用于Socket的处理，所以还需要安装libevent，<br/><br/>libevent的最新版本是libevent-1.4.13-stable。（如果你的系统已经安装了libevent，可以不用安装）<br/>官网：<a href="http://www.monkey.org/~provos/libevent/" target="_blank">http://www.monkey.org/~provos/libevent/</a><br/>下载：<a href="http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz" target="_blank">http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz</a><br/><br/>准备Memcached的PHP扩展的源码安装包：<br/>官网：<a href="http://pecl.php.net/get/memcache-2.2.5.tgz" target="_blank">http://pecl.php.net/get/memcache-2.2.5.tgz</a><br/><br/>Linux指令下载：<br/><div class="code"><br/>wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz<br/>wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz<br/>wget http://pecl.php.net/get/memcache-2.2.5.tgz<br/></div><br/>二、安装与配置<br/>1、先安装libevent<br/><div class="code"><br/>tar zxvf libevent-1.4.13-stable.tar.gz<br/>cd libevent-1.4.13-stable<br/>./configure -prefix=/usr<br/>make<br/>make install<br/>cd ../<br/></div><br/><br/>2、测试libevent是否安装成功<br/><div class="code"><br/>ls -al /usr/lib &#124; grep libevent<br/>libevent-1.1a.so.1<br/>libevent-1.1a.so.1.0.2<br/>libevent-1.4.so.2<br/>libevent-1.4.so.2.1.3<br/>libevent.a<br/>libevent_core-1.4.so.2<br/>libevent_core-1.4.so.2.1.3<br/>libevent_core.a<br/>libevent_core.la<br/>libevent_core.so<br/>libevent_extra-1.4.so.2<br/>libevent_extra-1.4.so.2.1.3<br/>libevent_extra.a<br/>libevent_extra.la<br/>libevent_extra.so<br/>libevent.la<br/>libevent.so<br/></div><br/>版本不同，可能文件列表不同。<br/><br/>3、安装memcached，同时需要安装中指定libevent的安装位置<br/><div class="code"><br/>tar zxvf memcached-1.4.4.tar.gz<br/>cd memcached-1.4.4<br/>./configure -with-libevent=/usr<br/>make &amp;&amp; make install<br/>cd ../<br/></div><br/>安装完成后会把memcached 自动放到 /usr/local/bin/memcached<br/><br/>4、测试是否成功安装memcached<br/><div class="code"><br/>ls -al /usr/local/bin/mem*<br/>-rwxr-xr-x 1 root root 201869 12-14 21:44 /usr/local/bin/memcached<br/></div><br/>5、安装Memcache的PHP扩展<br/><br/>①安装PHP的memcache扩展<br/><div class="code"><br/>tar vxzf memcache-2.2.5.tgz<br/>cd memcache-2.2.5<br/>/usr/local/php/bin/phpize<br/>./configure -enable-memcache -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir<br/>make<br/>make install<br/>cd ../<br/></div><br/>②上述安装完后会有类似这样的提示：<br/><div class="code"><br/>Installing shared extensions: /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/<br/></div><br/>③把php.ini中的extension_dir = “./”修改为<br/><div class="code"><br/>extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”<br/></div><br/>④添加一行来载入memcache扩展：extension=memcache.so<br/><br/>三、memcached的基本设置<br/>1.启动Memcache的服务器端：<br/><div class="code"><br/>memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid<br/></div><br/>参数说明：<br/><div class="code"><br/>-d选项是启动一个守护进程，<br/>-m是分配给Memcache使用的内存数量，单位是MB，我这里是10MB，<br/>-u是运行Memcache的用户，我这里是root，<br/>-l是监听的服务器IP地址，如果有多个地址的话，我这里指定了服务器的IP地址202.207.177.177，<br/>-p是设置Memcache监听的端口，我这里设置了11211，最好是1024以上的端口，<br/>-c选项是最大运行的并发连接数，默认是1024，我这里设置了256，按照你服务器的负载量来设定，<br/>-P是设置保存Memcache的pid文件，我这里是保存在 /tmp/memcached.pid，<br/></div><br/><br/>出现如下错误：<br/><div class="code"><br/>&#91;root@localhost memcached-1.2.2&#93;# /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid<br/>/usr/local/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory<br/><br/></div><br/>查找原因，解决方案如下：<br/><div class="code"><br/>LD_DEBUG=libs /usr/local/bin/memcached -v<br/></div><br/>如下显示:<br/><div class="code"><br/>&#91;root@uhz002102 soft&#93;# LD_DEBUG=libs /usr/local/bin/memcached -v<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp; find library=libevent-1.4.so.2 &#91;0&#93;; searching<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;search cache=/etc/ld.so.cache<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(system search path)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/lib64/tls/x86_64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/lib64/tls/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/lib64/x86_64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/lib64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/usr/lib64/tls/x86_64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/usr/lib64/tls/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/usr/lib64/x86_64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trying file=/usr/lib64/libevent-1.4.so.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3109:<br/>/usr/local/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory<br/></div><br/>主要是看最后一行提示的错误，那么我们：<br/><div class="code"><br/>cp /usr/lib/libevent* /usr/lib64/<br/></div><br/>重新运行<br/><div class="code"><br/>/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid<br/><br/></div><br/>成功！<br/>2.如果要结束Memcache进程，执行：<br/><div class="code"><br/>kill `cat /tmp/memcached.pid`<br/></div><br/>也可以启动多个守护进程，不过端口不能重复。<br/><br/>3.检查Memcached是否启动<br/><div class="code"><br/>&#91;root@uhz002102 soft&#93;# netstat -tnlp<br/>Active Internet connections (only servers)<br/>Proto Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID/Program name&nbsp;&nbsp; <br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 127.0.0.1:9000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23369/php-cgi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 127.0.0.1:11211&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3192/memcached&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 0.0.0.0:80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3111/nginx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 0.0.0.0:21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2219/vsftpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 :::3306&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17881/mysqld&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 :::22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2193/sshd <br/></div><br/>11211端口已经打开，说明Memcached已正常启动。<br/><br/>4.重启CentOS<br/><div class="code"><br/>reboot<br/></div><br/>四、Memcache环境测试<br/>运行下面的php文件，如果有输出This is a test!，就表示环境搭建成功。开始你的Memcache的征途吧！<br/><br/><div class="code"><br/>&lt;?php&nbsp;&nbsp; <br/>$mem = new Memcache; <br/>$mem-&gt;connect(&quot;202.207.177.177&quot;, 11211); <br/>$mem-&gt;set(&#039;key&#039;, &#039;This is a test!&#039;, 0, 60); <br/>$val = $mem-&gt;get(&#039;key&#039;); <br/>echo $val;&nbsp;&nbsp; <br/>?&gt; <br/></div><br/>五、参考资料<br/>对Memcached有疑问的朋友可以参考下列文章：<br/>Linux下的Memcache安装：<a href="http://www.ccvita.com/257.html" target="_blank">http://www.ccvita.com/257.html</a><br/>Nginx 0.8.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器: <a href="http://blog.s135.com/nginx_php_v5/" target="_blank">http://blog.s135.com/nginx_php_v5/</a><br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/memcache/" rel="tag">memcache</a> , <a href="http://www.dzhope.com/tags/php/" rel="tag">php</a> , <a href="http://www.dzhope.com/tags/nginx/" rel="tag">nginx</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] Memcache的安装(Linux+Nginx+PHP+Memcached)]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>