编译安装Memcached并使用systemctl管理

安装依赖

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

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

编译安装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

建立软连接的好处shell

为何要建立软链接?由于之后可能会升级到其它版本,在环境变量和开机自启这些地方都使用软链接,这样能够方便之后升级的时候只须要删除旧的软链接从新对新版本建立一个软链接就行了,不须要在去到环境变量和开机自启的这些配置的地方再去修改。memcached

配置环境变量

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

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

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

systemctl管理memcached

在之前咱们来管理Memcached的开机自启的时候咱们都是使用的rc.local的方式来设置,可是这样的方式已通过时,在CentOS7中咱们应当使用systemctl来管理code

首先咱们来看一下使用yum方式安装的memcached都作了啥blog

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

    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/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

重载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服务

相关文章
相关标签/搜索