测试环境:
OS: Ubuntu 18.04 LTS
以下操作均需以root身份执行
编译安装Redis
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
由于 Ubuntu 镜像源中的 Redis 并不是最新版的,为了使用最新版的 Redis,本文将介绍如何使用源码编译安装 Redis。
在正式安装 Redis 服务之前,需要先安装编译工具。
1
|
apt-get install build-essential tcl |
从官网下载 Redis 源码
1
|
wget http: //download .redis.io /redis-stable . tar .gz |
解压并编译安装 Redis
1
2
3
4
|
tar zxvf redis-stable. tar .gz cd redis-stable make && make test make install //没报错就是成功了 |
配置 Redis
创建 Redis 配置目录
1
|
mkdir /etc/redis |
拷贝配置文件
1
|
cp redis-stable /redis .conf /etc/redis/6379 .conf |
编辑配置文件
1
|
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结尾表示是后台自启动服务)
1
|
cp redis_init_script /etc/init .d /redisd |
编辑启动脚本
1
|
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”
设置脚本权限(不设置将导致命令不存在)
1
|
chmod +x /etc/init .d /redisd |
设置自启动
1
|
update-rc.d redisd defaults |
注意:实际测试时发现设置自启动后,并不能开机自动启动服务,暂时不清楚具体原因,希望有大神指路。
启动 Redis 服务
1
|
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 文件
1
|
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 用户、组和目录
1
2
3
4
|
adduser --system --group --no-create-home redis mkdir /var/lib/redis chown redis:redis /var/lib/redis chmod 770 /var/lib/redis |
Ubuntu 18.04 环境下安装redis与16.04一样。
设置为自启动服务
1
|
systemctl enable redis |
启动 Redis 服务
1
|
systemctl start redis |
测试连通状态
1
|
redis-cli |
> ping
PONG
编译安装 Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
与 Redis 类似,Ubuntu镜像源中的 Memcached 不是最新版,为了使用最新版的 Memcached,下面我们通过编译的方式安装 Memcached。
由于 Memcached 依赖于 libevent,因此需要安装 libevent。
安装 libevent
从官网下载 libevent 源码
1
|
wget https: //github .com /libevent/libevent/releases/download/release-2 .0.22-stable /libevent-2 .0.22-stable. tar .gz |
解压并编译安装 libevent
1
2
3
4
5
|
tar zxvf libevent-2.0.22-stable. tar .gz cd libevent-2.0.22-stable . /configure --prefix= /usr/local/libevent make //这里编译时可能会报错,应该是openssl版本问题,将版本改为1.0即可(apt-get install libssl1.0-dev) make install |
安装 Memcached 服务
从官网下载 Memcached 源码
1
|
wget http: //www .memcached.org /files/memcached-1 .4.32. tar .gz |
解压并编译安装
1
2
3
4
5
|
tar zxvf memcached-1.4.32. tar .gz cd memcached-1.4.32 . /configure --prefix= /usr/local/memcached --with-libevent= /usr/local/libevent make //注意这里的编译时,可能会报错,我报错的是某个文件中snprintf()使用出错,"%%%02x"应改为"%02x" make install |
配置 Memcached 自启动服务
Ubuntu 18.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
vim /etc/memcached/config (没有memcache目录要先创建)
PORT="11211"
USER="www-data"
MAXCONN="2048"
CACHESIZE="128"
OPTIONS=””
接着将memechace的服务脚本复制到系统服务脚本下
cp 安装路径/memached-1.4.32/scrpict/memcached.service /etc/systemd/system/
设置为自启动服务
1
|
systemctl enable memcached |
启动 Redis 服务
1
|
systemctl start memcached |
至此,Memcached 服务已经安装完成!如果需要安装 PHP 的 Memcached 扩展可以移步到这里。