Linux系统离线安装redis5.0.7

1.下载redis安装包

  • 方式一:shell命令下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

2.上传到服务器

上传到/opt/app/middles/目录下

3.解压并安装

tar -zvxf redis-5.0.7.tar.gz
cd redis-5.0.7
make
make PREFIX=/opt/app/middles/redis-5.0.7 install
cp redis.conf redis.conf.init.bak
mkdir data
mkdir logs
vim redis.conf
./bin/redis-server ./redis.conf

4.查看redis是否启动

netstat -anlp |grep 6380
lsof -i:6380
ps -aux | grep redis

5.用redis可视化工具就可以连接了

6.下面是一份redis.conf已修改好的,直接可以支持后台启动和外网连接

这里列举下比较重要的配置项
配置项名称 配置项值范围 说明

  • daemonize: yes、no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
  • port: 指定 Redis 监听端口,默认端口为 6379,建议改为6380
  • bind: 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
  • protected-mode: yes 、no 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
  • timeout: 300 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
  • loglevel: debug、verbose、notice、warning 日志级别,默认为 notice
  • logfile: 日志输出位置 /opt/app/middles/redis-5.0.7/logs/redis.log
  • databases: 16 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
  • rdbcompression: yes、no 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
  • dbfilename: dump.rdb 指定本地数据库文件名,默认值为 dump.rdb
  • dir: 指定本地数据库存放目录 建议设置成:./data
  • requirepass: 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭,建议开启
  • maxclients: 0 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
  • maxmemory: XXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了,注意redis密码在下面的requirepass里自己定义,用客户端工具连接的时候没有用户名,只用输入密码即可。

protected-mode no
port 6380
tcp-backlog 511
timeout 0

tcp-keepalive 300
daemonize yes
supervised no
pidfile /opt/app/middles/redis-5.0.7/redis_6380.pid
loglevel notice
logfile /opt/app/middles/redis-5.0.7/logs/redis.log
databases 16

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes

# The filename where to dump the DB
dbfilename dump.rdb

dir ./data

replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
requirepass W900618seo123
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no

# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes