环境:ubuntu 16.04.05 + redis-3.2.9
基本安装
1.下载redis-3.3.9包,解压
2.进入redis-3.2.9目录内,运行terminal,执行sudo make,编译后执行sudo make install
3.安装完成后,在terminal中执行redis-server启动redis服务
4.客户端中的terminal中执行redis-cli连接redis服务器,输入ping测试连接,返回pong成功
自定义安装
下载redis并解压 ,进入redis-3.2.9目录内sudo make进行编译
编译时如果系统什么都没装就需要安装依赖。可能缺少的有jemalloc,lua, hiredis, linenoise。只要进入redis-3.2.9目录,找到并进入deps目录, 查看是否存在,如果没有就在redis-3.2.9目录下使用命令
sudo make jemalloc
sudo make lua
sudo make hiredis
sudo make linenoise
把这些依赖安装就可以了。
make编译成功之后就可以看到提示
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory '/home/ubuntu/program/redis/redis-3.2.9/src'
从最后一行可以看出它提示可以去/home/ubuntu/Documents/program/redis-3.2.9/src目录查看了,进去后会有很多东西。
这样就编译好了
默认的安装方式是直接在 redis-3.2.9目录内sudo make install
这样安装会安装到/usr/local/bin目录下,这样的好处是就不需要写path路径,不过不好跟其他如 hadoop, spark等安装软件集中管理,可以选择用自定义安装的方式
自定义安装如下
进入/home/ubuntu/Documents/program/redis-3.2.9/src目录,输入命令 sudo make PREFIX=/home/ubuntu/program/redis/redis-3.2.9 install 就会安装到指定的安装目录了
会有提示
Hint: It’s a good idea to run ‘make test’ ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
进入/home/ubuntu/program/redis-3.2.9目录,有个bin文件夹,再进,里面有这几个文件就行了。
redis-benchmark redis-check-rdb redis-sentinel
redis-check-aof redis-cli redis-server
还要再配置环境变量
sudo nano /etc/environment
使之生效
source /etc/environment
这时候可以在任意目录下启动 redis-server了
不过这是默认启动,使用的是缺省的配置文件,并不是想要的。
在编译的文件夹内除了src目录有一个utils目录,进入里面
运行 sudo ./install_server.sh
会有提示, 最后显示如下
Port : 6379
Config file : /etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /home/ubuntu/Documents/program/redis-3.2.9/bin/redis-server
Cli Executable : /home/ubuntu/Documents/program/redis-3.2.9/bin/redis-cli
前四个点回车确定就可以了,如果第五个的时候是空选项,没发现有东西选,只有一个[],只好自己输入安装地址
/home/ubuntu/program/redis/redis-3.2.9/bin/redis-server
最后确定会提示如下
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service…
Success!
Starting Redis server…
Installation successful!
Selected config:
Port : 6379
Config file : /etc/redis/6379.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
从Copied /tmp/6379.conf => /etc/init.d/redis_6379这句话我们知道它把生成的文件拷贝到了这里。
进去/etc/init.d
查看发现有个redis_6379
把名字改成redisd (d是后台服务的意思。)
这服务的配置文件在/etc/redis下有个6379.conf,可以查看里面有端口,数据库数量等等。
里面有一行
daemonize yes
说明是后台服务了
进程获得的ID号,这ID号要保存
pidfile /var/run/redis_6379.pid
默认数据库数量
databases 16
这是上面默认的目录
dir /var/lib/redis/6379
然后启动服务
service redisd start
发现启动失败
提示
Failed to start redisd.service: Unit redisd.service not found.
说没有这个服务,要用systemctl daemon-reload命令
输入sudo systemctl daemon-reload,再输入service redisd start就可以了。
查看端口占用情况
ss -tanl
显示127.0.0.1:6379,说明启动成功了。
再启动
redis-cli
在任意位置这命令没启动成功,用source发现不行,后面重启居然成功了。
之后就可以使用redis-server启动服务了
测试连接
本地连接测试
127.0.0.1:6379> ping
PONG表明连接成功
远程链接 redis-cli -h host -p port -a password
关闭服务 redis-cli -p 端口号 shutdown