在Linux下编译,须要gcc、make、cmake、autoconf、libtool、libevent等工具,在Linux联网状态下咱们可使用yum
命令来安装锁须要的依赖c++
yum -y install gcc gcc-c++ make cmake autoconf libtool libevent libevent-devel
# 切换到资源包目录(我我的全部的资源包都是放在/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
建立软连接的好处shell
为何要建立软链接?由于之后可能会升级到其它版本,在环境变量和开机自启这些地方都使用软链接,这样能够方便之后升级的时候只须要删除旧的软链接从新对新版本建立一个软链接就行了,不须要在去到环境变量和开机自启的这些配置的地方再去修改。memcached
编辑/etc/profile
文件,/usr/local/memcached/bin
添加到环境变量中工具
export PATH="$PATH:/usr/local/memcached/bin"
添加后执行source /etc/profile
使修改当即生效rest
在之前咱们来管理Memcached的开机自启的时候咱们都是使用的rc.local
的方式来设置,可是这样的方式已通过时,在CentOS7中咱们应当使用systemctl
来管理code
首先咱们来看一下使用yum方式安装的memcached都作了啥blog
建立一个sbin/nologin类型的名为memcached的用户ip
useradd memcached -s /sbin/nologin -M
安装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
配置文件放在/etc/sysconfig/memcachedget
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
执行下面的命令从新载入 systemd,扫描新的或有变更的单元
systemctl daemon-reload
systemctl enable memcached.service # 设置开机自启 systemctl disable memcached.service # 取消开机自启服务
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服务