Ubuntu 编译安装、配置 Redis 与 Memcached 服务

目录 Linux, PHP

测试环境:

OS: Ubuntu 16.04 LTS

以下操作均需以root身份执行

编译安装Redis

Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。

由于 Ubuntu 镜像源中的 Redis 并不是最新版的,为了使用最新版的 Redis,本文将介绍如何使用源码编译安装 Redis。

在正式安装 Redis 服务之前,需要先安装编译工具。

apt-get install build-essential tcl

从官网下载 Redis 源码

wget http://download.redis.io/redis-stable.tar.gz

解压并编译安装 Redis

tar zxvf redis-stable.tar.gz
cd redis-stable
make && make test
make install

配置 Redis

创建 Redis 配置目录

mkdir /etc/redis

拷贝配置文件

cp redis-stable/redis.conf /etc/redis/6379.conf

编辑配置文件

vim /etc/redis/6379.conf

Ubuntu 14.04 环境

修改 daemonize 为 yes,即默认以后台程序方式运行

daemonize yes

修改 supervised 为 auto

supervised auto

可修改监听 IP,开启远程连接设置为 0.0.0.0

bind 127.0.0.1

可修改默认监听端口

port 6379

配置持久化文件存放位置

dir /var/lib/redis

保存并退出文件。

使用 Redis 自带的启动脚本设置开机自启动

推荐在生产环境中使用启动脚本方式启动 Redis 服务。启动脚本 redis_init_script 位于 Redis 的 utils 目录下。

拷贝启动脚本,启动脚本命名为 redisd(通常都以d结尾表示是后台自启动服务)

cp redis_init_script /etc/init.d/redisd

编辑启动脚本

vim /etc/init.d/redisd

# Redis 服务监听的端口

REDISPORT=6379

# 服务端所处位置,默认存放于/usr/local/bin/redis-server。

EXEC=/usr/local/bin/redis-server

# 客户端位置

CLIEXEC=/usr/local/bin/redis-cli

# Redis 的 PID 文件位置

PIDFILE=/var/run/redis_${REDISPORT}.pid

# 配置文件位置

CONF=”/etc/redis/${REDISPORT}.conf”

设置脚本权限(不设置将导致命令不存在)

chmod +x /etc/init.d/redisd

设置自启动

update-rc.d redisd defaults

注意:实际测试时发现设置自启动后,并不能开机自动启动服务,暂时不清楚具体原因,希望有大神指路。

启动 Redis 服务

service redisd start

Ubuntu 16.04 环境

修改supervised为systemd

supervised systemd

可修改监听 IP,开启远程连接设置为 0.0.0.0

bind 127.0.0.1

可修改默认监听端口

port 6379

配置持久化文件存放位置

dir /var/lib/redis

保存并退出文件。

创建 Systemd Unit 文件

vim /etc/systemd/system/redis.service

写入如下内容:

[Unit]

Description=Redis In-Memory Data Store

After=network.target

[Service]

User=redis

Group=redis

ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf

ExecStop=/usr/local/bin/redis-cli shutdown

Restart=always

[Install]

WantedBy=multi-user.target

保存退出文件。

创建 redis 用户、组和目录

adduser --system --group --no-create-home redis
mkdir /var/lib/redis
chown redis:redis /var/lib/redis
chmod 770 /var/lib/redis

设置为自启动服务

systemctl enable redis

启动 Redis 服务

systemctl start redis

测试连通状态

redis-cli

> ping

PONG

编译安装 Memcached

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

与 Redis 类似,Ubuntu镜像源中的 Memcached 不是最新版,为了使用最新版的 Memcached,下面我们通过编译的方式安装 Memcached。

由于 Memcached 依赖于 libevent,因此需要安装 libevent。

安装 libevent

官网下载 libevent 源码

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz

解压并编译安装 libevent

tar zxvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent
make
make install

安装 Memcached 服务

官网下载 Memcached 源码

wget http://www.memcached.org/files/memcached-1.4.32.tar.gz

解压并编译安装

tar zxvf memcached-1.4.32.tar.gz
cd memcached-1.4.32
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make
make install

配置 Memcached 自启动服务

Ubuntu 16.04 环境

使用 Memcached 安装包下的 scripts/memcached.service

修改

[Service]

EnvironmentFile=/etc/memcached/config

ExecStart=/usr/local/memcached/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS

新建 /etc/memcached/config

PORT=”11211″

USER=”www-data”

MAXCONN=”2048″

CACHESIZE=”128″

OPTIONS=””

至此,Memcached 服务已经安装完成!如果需要安装 PHP 的 Memcached 扩展可以移步到这里

1 条评论

  • Ubuntu 编译安装、配置 Redis 与 Memcached 服务 – 你过来啊
    2018年6月9日

    […] 目录Linux, PHP2018年6月9日 […]

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注