2019-04-17 在Ubuntu1804 上安装Redis


redis官网:https://redis.io/。 redis的Github:github.com/antirez/redis


前置:

make-guile
make
gcc


下载和解压

#下载源码,复制官网上的下载链接
wget http://59.80.44.48/download.redis.io/releases/redis-5.0.4.tar.gz

#解压
tar -zxvf redis-5.0.4.tar.gz

编译和安装:

注意看Github上的README,其中有这样一段话:

Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems.

意译:默认情况下,redis是针对libc malloc编译和链接的,但在Linux系统上,默认指向jemalloc。(选择此默认值是因为jemalloc已证明比libc malloc具有更少的碎片问题)。

我的Ubuntu只有libc分配器,所以需要强制libc malloc编译:

#如果希望安装在其他地方,则可以使用 make PREFIX=/some/other/directory install
make install MALLOC=libc

初始化配置

make install只会在系统中安装二进制文件,但不会在适当的位置配置init脚本和配置文件。
如果你正在为生产系统安装redis,有一个脚本为Ubuntu和Debian系统执行此配置操作:

cd utils
./install_server.sh

该脚本将向你提出几个问题,并将设置你正确运行Redis作为后台守护程序所需的一切,该守护程序将在系统重新启动时重新启动。

# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] redis5.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port           : 6379
Config file    : redis5.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Success!
Starting Redis server...
Installation successful!

完成后会生成一个配置文件,这个配置文件在utils目录下:

redis端口(Port)  :6379
Config file    : /root/redis-5.0.4/utils/redis5.conf
Log file       : /var/log/redis_6379.log
数据目录       : /var/lib/redis/6379
可执行文件     : /usr/local/bin/redis-server
Cli 可执行文件 : /usr/local/bin/redis-cli

你可以使用名为/etc/init.d/redis_u<portnumber>的脚本来停止和启动redis,例如/etc/init.d/redis_6379

这里我把配置文件复制出来,然后改一下/etc/init.d/redis_6379文件,方便启动(后端启动方式):
CONF="redis5.conf"中的redis5.conf改成指定路径(也可以不复制文件,直接指定配置文件的路径)。

mkdir /usr/local/conf/
cp /root/redis-5.0.4/utils/redis5.conf /usr/local/conf/
sudo vi /etc/init.d/redis_6379 #把CONF="redis5.conf"中的redis5.conf改为/usr/local/conf/redis5.conf

这样就可以使用脚本控制redis的启动状态了:

/etc/init.d/redis_6379 start       #启动redis
/etc/init.d/redis_6379 stop       #停止redis
/etc/init.d/redis_6379 restart    #重启redis

其他


前端启动:redis-server
后端启动:redis-server 配置文件路径


参考文献:
[1] Salvatore Sanfilippo.Github - antirez/redis[EB/OL].[2019-4-17].https://github.com/antirez/redis.
[2] 过路人士甲.CentOS之Redis安装[EB/OL].[2019-4-17].https://jingyan.baidu.com/article/36d6ed1fabe64b1bcf4883a4.html.