memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。memcached基于一个存储键/值对的hash map。其守护进程(daemon)是用 c 写的,但是客户端可以用任何语言来编写,并通过 memcached 协议与守护进程通信。

OK,简单介绍一下,下面开始部署!

环境:
CentOS 6.5 x86_64位 采用最小化安装,系统经过了基本优化
selinux 为关闭状态,iptables 为无限制模式
主机名:nolinux
源码包存放位置:/usr/local/src
libevent版本:2.0.21
memcached版本:1.4.20

一、基础环境准备

[root@nolinux ~]# yum -y install gcc gcc-c++

二、服务部署

1、安装libevent

libevent是个程序库,它将linux的epool、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥出色的性能。

由于 memcached 使用 libevent 这个库负责 Socket 的处理,因此我们在安装 memcached 之前还需要安装libevent。目前,libevent的最新版本是libevent-2.0.21。如果之前你已经安装过libevent,那么这里可以忽略此步骤。

[root@nolinux ~]# cd /usr/local/src
[root@nolinux src]# wget http://code.taobao.org/p/nolinux/src/memcached/src/libevent-2.0.21-stable.tar.gz?orig
[root@nolinux src]# tar zxvf libevent-2.0.21-stable.tar.gz
[root@nolinux src]# cd libevent-2.0.21-stable
[root@nolinux libevent-2.0.21-stable]#  ./configure --prefix=/usr
[root@nolinux libevent-2.0.21-stable]#  make
[root@nolinux libevent-2.0.21-stable]#  make install
[root@nolinux libevent-2.0.21-stable]# ll /usr/lib/libevent*  # libevent安装完后,会在/usr/lib目录下出现如下内容
lrwxrwxrwx 1 root root 21 Aug 11 13:49 /usr/lib/libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
-rwxr-xr-x 1 root root 968690 Aug 11 13:49 /usr/lib/libevent-2.0.so.5.1.9
-rw-r--r-- 1 root root 1571802 Aug 11 13:49 /usr/lib/libevent.a
lrwxrwxrwx 1 root root 26 Aug 11 13:49 /usr/lib/libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9
-rwxr-xr-x 1 root root 585225 Aug 11 13:49 /usr/lib/libevent_core-2.0.so.5.1.9
-rw-r--r-- 1 root root 978482 Aug 11 13:49 /usr/lib/libevent_core.a
-rwxr-xr-x 1 root root 970 Aug 11 13:49 /usr/lib/libevent_core.la
lrwxrwxrwx 1 root root 26 Aug 11 13:49 /usr/lib/libevent_core.so -> libevent_core-2.0.so.5.1.9
lrwxrwxrwx 1 root root 27 Aug 11 13:49 /usr/lib/libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x 1 root root 404852 Aug 11 13:49 /usr/lib/libevent_extra-2.0.so.5.1.9
-rw-r--r-- 1 root root 593392 Aug 11 13:49 /usr/lib/libevent_extra.a
-rwxr-xr-x 1 root root 977 Aug 11 13:49 /usr/lib/libevent_extra.la
lrwxrwxrwx 1 root root 27 Aug 11 13:49 /usr/lib/libevent_extra.so -> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x 1 root root 935 Aug 11 13:49 /usr/lib/libevent.la
lrwxrwxrwx 1 root root 30 Aug 11 13:49 /usr/lib/libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
-rwxr-xr-x 1 root root 18430 Aug 11 13:49 /usr/lib/libevent_pthreads-2.0.so.5.1.9
-rw-r--r-- 1 root root 18670 Aug 11 13:49 /usr/lib/libevent_pthreads.a
-rwxr-xr-x 1 root root 998 Aug 11 13:49 /usr/lib/libevent_pthreads.la
lrwxrwxrwx 1 root root 30 Aug 11 13:49 /usr/lib/libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9
lrwxrwxrwx 1 root root 21 Aug 11 13:49 /usr/lib/libevent.so -> libevent-2.0.so.5.1.9
[root@nolinux libevent-2.0.21-stable]# cd ..

2、安装memcached

[root@nolinux memcached-1.4.20]# wget http://code.taobao.org/p/nolinux/src/memcached/src/memcached-1.4.20.tar.gz?orig
[root@nolinux src]# tar zxvf memcached-1.4.20.tar.gz
[root@nolinux src]# cd memcached-1.4.20
[root@nolinux memcached-1.4.20]# ./configure --with-libevent=/usr
[root@nolinux memcached-1.4.20]# make
[root@nolinux memcached-1.4.20]# make install
[root@nolinux memcached-1.4.20]# cd
[root@nolinux ~]# ll /usr/local/bin/memcached    # 安装完成后会把memcached 放到 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 341907 Aug 11 13:52 /usr/local/bin/memcached

注意:

如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径

三、启动配置

1、启动Memcached服务

[root@nolinux ~]# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11211 -c 256 -P /tmp/memcached.pid
[root@nolinux ~]# lsof -i tcp:11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 11470 root 26u IPv4 19581 0t0 TCP 192.168.0.121:memcache (LISTEN)

补充:关于memcached启动命令的介绍

-d   启动一个守护(daemon)进程
-m   分配给 memcache 使用的内存数量,单位是MB
-u   运行 memcache 的用户
-l   监听的服务器IP地址
-p   设置 memcache 监听的端口,端口最好大于1024
-c   设置 memcache 最大运行的并发连接数,默认是1024
-P   设置保存 memcache 的pid文件地址设置pid文件的好处在于方便结束 memcache 进程如果存在pid文件,那么我们就可以通过如下命令快速结束 memcached 进程
[root@nolinux ~]# kill `cat /tmp/memcached.pid`

2、配置memcached开机自启

[root@nolinux ~]# echo "# memcached service daemon by sun 201408022" >>/etc/rc.local
[root@nolinux ~]# echo "/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11211 -c 256 -P /tmp/memcached.pid" >> /etc/rc.local
[root@nolinux ~]# tail -2 /etc/rc.local
# memcached service daemon by sun 201408022
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11211 -c 256 -P /tmp/memcached.pid

四、服务测试

 1、连接测试

[root@nolinux src]# telnet 192.168.0.121 11211
Trying 192.168.0.121...
Connected to 192.168.0.121.
Escape character is '^]'.    # 出现该提示就表示连接成功
quit    # 输入quit退出当前连接
Connection closed by foreign host.

2、插入键值测试

[root@nolinux ~]# telnet 192.168.0.121 11211
Trying 192.168.0.121...
Connected to 192.168.0.121.
Escape character is '^]'.
set key1 0 0 7
nolinux
STORED
set key2 0 0 6
sunsky
STORED
quit
Connection closed by foreign host.
[root@nolinux ~]# telnet 192.168.0.121 11211
Trying 192.168.0.121...
Connected to 192.168.0.121.
Escape character is '^]'.
get key1
VALUE key1 0 7
nolinux
END
get key2
VALUE key2 0 6
sunsky
END
quit
Connection closed by foreign host.

OK!我们的memcached已经安装成功了!

重点:memcached单实例/多实例

关于memcached的单实例和多实例,我们不需要像mysql一样配置那么麻烦,我们只需要再执行memcached的启动命令启动就可以再打开多个memcahed实例了。不过需要注意的是,一定不能让它们的端口相同!切记!

下面是memcached单机多实例的启动实例:

[root@nolinux ~]# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11211 -c 256 -P /tmp/memcached.pid
[root@nolinux ~]# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11212 -c 256 -P /tmp/memcached.pid
[root@nolinux ~]# ps -ef |grep memcached
root     11880     1  0 14:14 ?        00:00:00 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11211 -c 256 -P /tmp/memcached.pid
root     11944     1  0 14:32 ?        00:00:00 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.121 -p 11212 -c 256 -P /tmp/memcached.pid
root     11951  2175  0 14:32 pts/0    00:00:00 grep memcached

OK,从操作结果可以看出,memcached的单机多实例已经OK!

本篇博文就到这里,关于 memcached 命令行的操作,我将放到下一篇博文进行分享。

希望能对大家有所帮助!

Memcached实战之单机部署----单实例/多实例相关推荐

  1. hadoop实战二 单机部署2

    5,打开hadoop/conf/hadoop-env.sh文件,修改如下: 找到#export JAVA_HOME=··去掉#,然后加上本机jdk的路径 6, 打开conf/core-site.xml ...

  2. mysql 用户 多主机_MySQL单主机多实例部署

    Mysql单主机多实例部署 基础环境 1.部署环境 CentOS 7 5.6.42 MySQL Community Server (GPL) 2.MySQL环境准备 1)yum安装MySQL #rpm ...

  3. (一)联邦学习FATE框架1.6.0版本单机部署和实战训练评估篇

    FATE 1.6.0学习笔记 系统安装,环境搭建和fate框架搭建指南手册下载 链接:https://pan.baidu.com/s/1K-88uye6RN3tLHw6f_r9Ug 提取码:5y2u ...

  4. mysql主从复制实践之单数据库多实例

    1.主从复制数据库实战环境准备 MySQL主从复制实践对环境的要求比较简单,可以是单机单数据库多实例的环境,也可以是两台服务器之间,每台服务器都部署一个独立的数据库的环境.本文以单机数据库多实例的环境 ...

  5. sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署、故障转移群集与日志传送

    sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署.故障转移群集与日志传送 数据库的选型和部署 sqlserver的安装和升级 选择高可用性和灾难恢复技术 故障转移群集 日志传 ...

  6. 双服务器架构实战飞桨部署-自动上色和老相片修复

    双服务器架构实战飞桨部署-自动上色和老相片修复 宋 朱熹 <即事有怀寄彦辅仲宗二兄>诗之二:"闻说双飞桨,翩然下广津. 飞桨功能强大,部署非常简单方便(对我这个不熟练的人,并不是 ...

  7. 第1.3章:StarRocks部署--单机部署

    严格来说,StarRocks并没有所谓的"Standalone运行模式",生产环境下更是不建议进行单实例部署.这里将单机部署整理出来,主要是考虑当用户测试环境受限于机器数量或仅希望 ...

  8. day70-大数据之Hadoop部署1(单机部署与伪分布式部署)

    大数据基础平台实施及运维 一.大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 1. 为什么使用大数据技术? 数据量越来越大 数据分析的实时性越来越强 数据结果的应用越来越 ...

  9. 单tomcat多实例的实现

    2019独角兽企业重金招聘Python工程师标准>>> 单tomcat多实例的实现 缘起 考虑这样一个场景:在一台机器上需要启动多个tomcat实例,通常的做法是创建多个tomcat ...

最新文章

  1. C++动态二维数组演示的代码
  2. underscore:get elements counts of a array
  3. 后台开发经典书籍--构建高性能WEB站点
  4. 错误笔记(1)——关于克隆虚拟机引发的后续问题
  5. Codeforces #440.Div.2
  6. 初学Java该学哪些知识?这6大知识必学
  7. boost::fibers模块实现multiple streams的测试程序
  8. leetcode-283-移动零
  9. Codeforces round 396(Div. 2) 题解
  10. 95-872-064-源码-CEP-CepOperator源码
  11. win7 64位如何安装sql2005
  12. Citespace、vosviewer 文献信息可视化分析
  13. 金蝶K3 如何添加其它出库单出库类型
  14. Android 真实简历
  15. Word中使用表格排版公式时,表格内序号纵向居中的问题。
  16. JavaScript中的变量声明
  17. 《麦田里的守望者》 经典摘录
  18. B-Spline样条曲线及其性质
  19. Playwright + Python爬虫
  20. [转发]知识图谱 (Knowledge Graph) 专知 荟萃

热门文章

  1. zip压缩/tar打包
  2. mobile兼容性调整,根据rem,字体大小,视窗宽度
  3. netbeans的python配置
  4. 汉字,五笔,拼音的转换
  5. 对“流形”最好的讲解在维基
  6. Q102:光线追踪场景(4)——面朝大海
  7. 语言程序设计第4版黄洪艺_庞皓计量经济学第4版题库
  8. 影响大数据和分析的5大趋势
  9. Spark Streaming实现WordCount
  10. 扩展JavaScript数组(Array)添加删除元素方法