libevent简述
很多网上的资料都说, memcached需要libevent。libevent是什么呢?libevent就是一个事件驱动库,可以理解为一个c语言的.h文件。memcached对于网络上的使用都是基于libevent的。
比如说:
memcached响应一个请求伪代码:
key=libevent.request();
data = slab.chunk.get(key);
libevent.response(data);
安装libevent库就是让系统有这个.h文件,让memcached可以使用。
libevent的最大好处是封装了底层的一些函数。比如说poll、epoll、select等。mc调用的时候可以少好多判定。
linux源码安装程序流程
1、下载源码包,并且解压缩。
2、解压缩后,有一个configure文件?
- 2.1 没有configure文件:有没有autogen.sh,执行autogen.sh。用于生成configure文件。(需要automake,autoconf等工具)
- 2.2 有configure文件:生成makefile。
3、make
4、make install
5、运行程序。
命令
|
描述
|
备注
|
configure
|
生成 Makefile文件,为下一步的编译做准备
一般都要prefix 目录的,否则配置麻烦。
|
比如代码:./configure –prefix=/usr
意思是将该软件安装在 /usr 下面,
执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),
资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)
|
make
|
编译
|
|
make install
|
安装
|
要有权限
|
linux安装memcached
apt安装memcached
通过apt安装memcached只要一条命令:
apt install memcached
通过apt是会自动安装libevent的。
apt安装成功后, 会自动把memcached安装为服务的了。
输入命令:
service memcached
显示:
Usage: /etc/init.d/memcached {start|stop|restart|force-reload|status}
netstat一下看服务情况:
netstat -nlp | grep memcached
显示:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2453/memcached
通过apt安装memcached 默认只监听本机哦。需要修改ip限制。
apt安装memcached后, memcached的配置在:
vi /etc/memcached.conf
把配置中的这一句注释掉:
#-l 127.0.0.1
然后重启memcached服务器:
service memcached restart
搞掂^_^
源码安装memcached
请先保证有安装“make”这个工具。
1、从github上下载最新的memcached。(github地址:https://github.com/memcached/memcached)
zip包下载地址是:https://github.com/memcached/memcached/archive/master.zip
下载并且解压缩这个zip包。
2、安装libevent。(如果已经有安装了则不必这一步)
apt install libevent-dev
如果是通过源码安装并且指定了目录,configure memcached的时候要指定libevent的目录。
3、执行解压缩目录里面的autogen.sh
(aclocal、automake等工具要安装)
会生成 configure脚本。然后执行 configure(建议使用--prefix参数,指定安装路径),举例:
./configure --enable-sasl --prefix=/opt/system/portaluser/memcached --with-libevent=/opt/system/portaluser/memcached/libevent
源码编译程序,强烈建议prefix一下, 指定安装目录。如果libevent是源码安装的话,with-libevent指定对应的目录。enabled-sasl不是必须的。看具体情况是否需要这个验证。
configure后,在本地目录make & install工具编译完。
4、make成功后,在安装目录(configure的prefix目录)下回有memcached文件。运行memcached:
memcached -p 11212 -d -u root
因为我是root用户安装软件的,所以需要-u。
netstat -ntlp | grep 11212
显示有这个进程即可。
windows安装memcached
暂略。