安装依赖

在Linux下编译,需要gcc、make、cmake、autoconf、libtool、libevent等工具,在Linux联网状态下我们可以使用yum命令来安装锁需要的依赖

yum -y install gcc gcc-c++ make cmake autoconf libtool libevent libevent-devel

注意:若不能连接外网安装包可下载源码包后进行编译安装

去官网libevent 下载源码包,我用的是libevent-2.0.20-stable.tar.gz

解压到/usr/src目录 ,执行命令:tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src

3.进入解压以后的目录,编译安装:./configure --prefix=/usr/local/libevent ; make && make install

编译安装Memcached

# 切换到资源包目录(我个人所有的资源包都是放在/usr/local/src目录下)
cd /usr/local/src# 下载Memcached
wget http://www.memcached.org/files/memcached-1.6.6.tar.gz# 解压
tar -zxvf memcached-1.6.6.tar.gz# 编译 && 安装
./configure --prefix=/usr/local/memcached-1.6.6
make && make install# 创建memcached的软连接
ln -s memcached-1.6.6 memcached

创建软链接的好处

为什么要创建软连接?因为以后可能会升级到其它版本,在环境变量和开机自启这些地方都使用软连接,这样可以方便以后升级的时候只需要删除旧的软连接重新对新版本创建一个软连接就好了,不需要在去到环境变量和开机自启的这些配置的地方再去修改。

配置环境变量

编辑/etc/profile文件,/usr/local/memcached/bin添加到环境变量中

export PATH="$PATH:/usr/local/memcached/bin"

添加后执行source /etc/profile使修改立即生效

systemctl管理memcached

在CentOS7中使用systemctl来管理

首先我们来看一下使用yum方式安装的memcached都做了啥

  1. 创建一个sbin/nologin类型的名为memcached的用户

    useradd memcached -s /sbin/nologin -M
    
  2. 安装memcached并采用systemctl来管理,memcached.service文件内容如下

    [Unit]
    Description=Memcached
    Before=httpd.service
    After=network.target[Service]
    Type=simple
    EnvironmentFile=-/etc/sysconfig/memcached
    ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS[Install]
    WantedBy=multi-user.target
    
  3. 配置文件放在/etc/sysconfig/memcached

    PORT="11211"
    USER="memcached"
    MAXCONN="1024"
    CACHESIZE="64"
    OPTIONS=""
    

我们使用的是编译安装,不过我们可以仿照yum方式的行为来管理我们自己编译安装的Memcached服务

首先,创建一个memcached用户,专门用来管理memcached服务

useradd memcached -s /sbin/nologin -M

然后在我们的memcached安装目录下创建一个配置文件,添加我们自己的个人配置

# 创建配置目录
mkdir /usr/local/memcached/conf
touch /usr/local/memcached/conf/memcached# 修改文件所属用户和组
chown -R memcached:memcached /usr/local/memcached/conf/memcached# 在/usr/local/memcached/conf/memcached文件中添加如下内容
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

然后,在/usr/lib/systemd/system/目录下创建一个memcached.service文件

touch /usr/lib/systemd/system/memcached.service

并在memcached.service添加如下内容(就是把yum方式的EnvironmentFile和启动路径改了)

[Unit]
Description=Memcached
Before=httpd.service
After=network.target[Service]
Type=simple
EnvironmentFile=-/usr/local/memcached/conf/memcached
ExecStart=/usr/local/memcached/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS[Install]
WantedBy=multi-user.target

重载daemon

执行下面的命令重新载入 systemd,扫描新的或有变动的单元

systemctl daemon-reload

开机自启

systemctl enable memcached.service # 设置开机自启
systemctl disable memcached.service # 取消开机自启服务

memcached管理常用命令

systemctl status memcached.service  # 查看Memcached状态
systemctl start memcached.service   # 开启Memcached
systemctl stop memcached.service    # 关闭Memcached
systemctl reload memcached.service  # 重载配置
systemctl restart memcached.service # 重启Memcached(相当于stop&start)

可以使用lsof -i:端口号查看Memcached服务

编译安装Memcached相关推荐

  1. linux编译安装memcached

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memcach ...

  2. CentOS 下安装编译安装MeMcached

    下载最新的 memcached http://www.memcached.org/ 1.4.15 # tar -xvf memcached-1.4.15.tar.gz cd memcached-1.4 ...

  3. php编译安装memcache,ubuntu源码编译安装memcached和php-memcache 扩展

    1.编译前,先确认gcc.make.patch等编译工具是否已安装,并可正常使用. 2.Libevent是一个异步事件处理软件函式库,以BSD许可证释出.Memcached  依赖Libevent,因 ...

  4. php memcached 扩展下载,编译安装 PHP 的 Memcached 扩展

    image.png 前面章节我会先简要说明一下安装过程, 后面章节我会记录在安装期间踩过的坑. Linux 下编译软件的步骤参见Linux 编译软件的步骤 服务器环境 CentOS 7 PHP 7.0 ...

  5. CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached

    声明:部分编译指令在博客编辑器里好像被处理了,如双横线变成单横线了等等,于是在本地生成了一个pdf版本,在下面地址可以下载. LNMP+Memcached CentOS是红帽发行的免费的稳定Linux ...

  6. ubuntu11.10 源码编译安装php5.3.8,Ubuntu 11.10编译安装Nginx、PHP 5.3.8、MySQL、MongoDB、Memcached、SSL、SMTP...

    手动安装php mongo扩展 sudo apt-get install autoconf wget http://pecl.php.net/get/mongo-1.2.6.tgz tar -zxvf ...

  7. lnmp一键安装包 mysql,LNMP一键安装包-自动编译安装Nginx MySQL PHP memcached

    适用环境: 系统支持:CentOS-5 (32bit/64bit).CentOS-6 (32bit/64bit) 内存要求:≥128M 安装了什么: 1.Nginx-1.0.9 2.MySQL 5.1 ...

  8. Redis数据库简介与(CentOS 7)编译安装

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...

  9. php memcached 扩展安装目录,php安装memcached扩展

    PHP为了可以与memcached服务器端交互,有两个PHP扩展可以使用:memcache扩展和memcached扩展.安装两个中的任一个扩展都可与memcached服务器实现交互.memcached ...

最新文章

  1. 本周技术主题-----.net中的资源文件
  2. Linux系统常用磁盘阵列RAID5
  3. 【ABAP】在线预览文档对象的开发实现
  4. 机器学习/深度学习 问题总结及解答
  5. 【Node】模块加载过程
  6. python数据挖掘电影评分分析_Pyhon数据分析项目——男女电影评分差异比较
  7. 2018届校招面经精选
  8. 怎样在页面上查找请求内容_怎样快速裁剪删除PDF文档的页面内容?
  9. java常用工具类封装
  10. c语言中strncpy的用法,C语言中函数strcpy ,strncpy ,strlcpy的用法【转】
  11. 深入浅出CChart 每日一课——快乐高四第二十课 七月流火,总复习之CChart多种编程模式
  12. python做桌面宠物_如何从零开始制作智能桌宠?
  13. <论文阅读> DI-FODO — 3D距离传感器的快速视觉里程计
  14. 头歌-信息安全技术-【实训10】HTML信息隐藏、动态分析技术
  15. Android---探究Android组件化
  16. 新的泛模式泛二级站群
  17. WGS84地理坐标系和CGCS2000坐标相互转换
  18. 教你使用MATLAB制作一款 图形验证码 生成器(app designer)
  19. webp怎么转换成png,4个方法教你快速处理
  20. QScrollArea qss样式表,美化滚动条

热门文章

  1. mysql所选路径已经存在_mysql安装常见问题解决办法
  2. 一些java语言的精巧写法
  3. mysql综训实训报告总结_实训报告总结收获.doc
  4. PartnerLink,PartnerLinkType详解
  5. 只要400行代码就能自已实现一个绘图机原型固件,esp8266 + micropython 用3d打印机改的绘图机
  6. 小新pro13睡眠后无法唤醒_小新air12、air13、air13pro睡眠后无法唤醒的调试方法
  7. C++ 关于指针变量所占内存空间大小的问题
  8. AutoJs学习-QQ\微信自定义小尾巴
  9. 转载的一片关于Mapper.xml中sql的相关技术点,供以后自己慢慢学习之用
  10. 73个word使用终极技巧