Ubuntu 安装Redis 并将 Redis 加入系统服务运行
Redis简介
Redis是一个性能非常优秀的内存数据库,通过key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set – 有序列表)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交际并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python、Ruby、Erlang、PHP客户端,使用很方便。redis的安装配置,比较简单。
以下内容转载自Defonds的Ubuntu 14 环境下编译安装 Redis 并将其注册为系统服务,如有侵权,立马删除!
下载安装
系统环境
cat /etc/issue
Ubuntu 18.04.1 LTS \n \l
1、下载
官方稳定版
wget http://download.redis.io/redis-stable.tar.gz
2、解压
tar -zxvf redis-stable.tar.gz
cd redis-stable # 切换目录
3、安装
make PREFIX=/usr/local/redis install
4、安装成功
之后查看了/usr/local/redis/,下边只有一个bin目录,该目录下有六个文件:
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
运行 redis-server 命令
出现下面的画面,即运行成功:
注册为系统服务
1、编辑服务脚本
查看安装包自带服务脚本:
cat /你的下载目录/redis-stable/utils/redis_init_script
会看到以下内容:
将其拷贝到 /etc/init.d 目录并重命名为 redis:
sudo cp /你的下载目录/redis-stable/utils/redis_init_script /etc/init.d/redis
然后根据 redis 的安装路径修改 /etc/init.d/redis 为:
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_ R E D I S P O R T . p i d C O N F = " ∗ ∗ / u s r / l o c a l / r e d i s ∗ ∗ / {REDISPORT}.pid CONF="**/usr/local/redis**/ REDISPORT.pidCONF="∗∗/usr/local/redis∗∗/{REDISPORT}.conf"
case “$1” in
start)
if [ -f
P
I
D
F
I
L
E
]
t
h
e
n
e
c
h
o
"
PIDFILE ] then echo "
PIDFILE]thenecho"PIDFILE exists, process is already running or crashed"
else
echo “Starting Redis server…”
$EXEC $CONF &
fi
;;
stop)
if [ ! -f
P
I
D
F
I
L
E
]
t
h
e
n
e
c
h
o
"
PIDFILE ] then echo "
PIDFILE]thenecho"PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo “Stopping …”
$CLIEXEC -p
R
E
D
I
S
P
O
R
T
s
h
u
t
d
o
w
n
w
h
i
l
e
[
−
x
/
p
r
o
c
/
REDISPORT shutdown while [ -x /proc/
REDISPORTshutdownwhile[−x/proc/{PID} ]
do
echo “Waiting for Redis to shutdown …”
sleep 1
done
echo “Redis stopped”
fi
;;
*)
echo “Please use start or stop as first argument”
;;
esac
注意加粗字体部分:
- $EXEC $CONF & ,后边的 &,表示将服务转到后台运行;
- EXEC、CLIEXEC、CONF等三处路径都要改。
2、复制配置文件
将 /你的下载目录/redis-stable/* 下提供的redis.conf默认配置文件拷贝到 redis 安装目录下 并重命名为 6379.conf:
sudo cp /你的下载目录/redis-stable/redis.conf /usr/local/redis/6379.conf
3、环境变量设置
追加一下内容到 /etc/profile 文件:
vim /etc/profile
export PATH=/usr/local/redis/bin:$PATH
执行:
source /etc/profile
以使配置立即生效并 使用一下代码验证:
echo $PATH
打印的内容中包含:
/usr/local/redis/bin:
4、服务注册
Ubuntu 在 10.04 之前的版本在配置开机启动服务时都是使用 chkconfig,而在之后的版本就没有 chkconfig 命令了:
sudo chkconfig --add redis
sudo: chkconfig: command not found
chkconfig 的替换方案为 update-rc.d :
sudo update-rc.d redis defaults
服务注册成功会有一下输出:
/etc/rc0.d/K20redis -> ../init.d/redis
/etc/rc1.d/K20redis -> ../init.d/redis
/etc/rc6.d/K20redis -> ../init.d/redis
/etc/rc2.d/S20redis -> ../init.d/redis
/etc/rc3.d/S20redis -> ../init.d/redis
/etc/rc4.d/S20redis -> ../init.d/redis
/etc/rc5.d/S20redis -> ../init.d/redis
服务启动及验证
$ sudo service redis start
服务启动,执行
$ redis-cli ping
PONG
表明服务已启动。
$ netstat -an|grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
本地6379
端口号已被Redis监听。
持久化文件和日志
持久化
Redis默认的持久化方式是快照方式,默认会将快照 dump.rdb
文件放在启动目录下(服务方式启动是在根目录下),我们可以通过更改 6379.conf 文件里 SNAPSHOTTING 大项下的 dir 配置(第 246 行)快照文件放在指定目录下,以防被误删:
dir ./
改为
dir /usr/local/redis/
日志
Redis 默认将日志输出到 /dev/null(即舍弃),我们可以通过更改 6379.conf 文件里 GENERAL 大项下的 logfile 配置(第162行)将日志保留到指定文件:
logfile ""
改为
logfile /url/local/redis/redis.log
重启Redis即可。
以上内容转载自Defonds的Ubuntu 14 环境下编译安装 Redis 并将其注册为系统服务,如有侵权,立马删除!