panjianm 发表于 2018-11-4 11:36:32

centos 6.5 安装、配置redis-liwenjia

  redis是一种高级的Key-value数据库。它跟memcached类似,不过数据可持久化,而且支持的数据类型丰富。有字符型、链表、集合、和有序集合,支持在服务器短计算集合的并、交和补集等,还支持多种排序功能。所以redis也可以被看成是一个数据结构服务器。所有数据保存在内存中,然后不定期通过异步方式保存到磁盘(半持久化模式),也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为全持久化模式),下面我们来搭建redis服务器。
  基于CentOS>
  一、安装redis
  1)   下载redis安装包
  可去官网http://redis.io ,也可通过wget命令,
  
  # wget http://download.redis.io/redis-stable.tar.gz
  2)解压
  # tar -zxvf redis-stable.tar.gz
  3)编译、安装(编译安装安装Development tools和Desktop Platfrom 开发包组工具)
  # cd redis-stable
  # ll
  total 200
  -rw-r--r--.1 1000 1000 78892 Oct 26 15:17 00-RELEASENOTES
  -rw-r--r--.1 1000 1000    53 Oct 26 15:17 BUGS
  -rw-r--r--.1 1000 10001805 Oct 26 15:17 CONTRIBUTING
  -rw-r--r--.1 1000 10001487 Oct 26 15:17 COPYING
  drwxr-xr-x.7 1000 10004096 Oct 26 15:17 deps
  -rw-r--r--.1 1000 1000    11 Oct 26 15:17 INSTALL
  -rw-r--r--.1 1000 1000   151 Oct 26 15:17 Makefile
  -rw-r--r--.1 1000 10004223 Oct 26 15:17 MANIFESTO
  -rw-r--r--.1 1000 10006834 Oct 26 15:17 README.md
  -rw-r--r--.1 1000 1000 46695 Oct 26 15:17 redis.conf
  -rwxr-xr-x.1 1000 1000   271 Oct 26 15:17 runtest
  -rwxr-xr-x.1 1000 1000   280 Oct 26 15:17 runtest-cluster
  -rwxr-xr-x.1 1000 1000   281 Oct 26 15:17 runtest-sentinel
  -rw-r--r--.1 1000 10007606 Oct 26 15:17 sentinel.conf
  drwxr-xr-x.2 1000 10004096 Oct 26 15:17 src
  drwxr-xr-x. 10 1000 10004096 Oct 26 15:17 tests
  drwxr-xr-x.7 1000 10004096 Oct 26 15:17 utils
  # make
  CC geo.o
  LINK redis-server
  INSTALL redis-sentinel
  CC redis-cli.o
  LINK redis-cli
  CC redis-benchmark.o
  LINK redis-benchmark
  INSTALL redis-check-rdb
  CC redis-check-aof.o
  LINK redis-check-aof

  Hint: It's a good>  make: Leaving directory `/srv/redis-stable/src'
  # make install
  cd src && make install
  make: Entering directory `/srv/redis-stable/src'

  Hint: It's a good>  INSTALL install
  INSTALL install
  INSTALL install
  INSTALL install
  INSTALL install
  make: Leaving directory `/srv/redis-stable/src'
  #
  # ls /usr/local/bin
  redis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-sentinelredis-server
  #
  # /usr/local/bin/redis-server -v
  Redis server v=3.2.5 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=661b15c1ebfa36b
  注意:若此时执行redis-server –v (查看版本命令),若提示redis-server command not found,则需要将/usr/local/bin目录加到环境变量,如何添加,此处不做详细介绍,可查看修改/etc/profile,(查看环境变量命令:echo $PATH)
  至此,redis安装完成,接着配置。
  二、修改配置文件.conf
  1)创建配置文件目录,dump file目录,进程目录,log目录等
  配置文件一般放在/etc/下,创建fedis目录
  # cd /etc/
  # mkdir redis
  dump file、进程目录、log目录等,一般放在/var/目录下,
  # cd redis/
  # ls
  # cd /var
  # mkdir redis
  # cd redis/
  # mkdir data log run
  # ll
  total 12
  drwxr-xr-x. 2 root root 4096 Dec5 15:58 data
  drwxr-xr-x. 2 root root 4096 Dec5 15:58 log
  drwxr-xr-x. 2 root root 4096 Dec5 15:58 run
  #
  至此目录创建完毕。
  2)修改配置文件,配置参数
  首先拷贝解压包下的redis.conf文件至/etc/redis
  # cp redis.conf /etc/re
  readahead.conf    redhat-lsb/       redhat-release    redis/            resolv.conf       resolv.conf.save
  # cp redis.conf /etc/redis/
  # vi /etc/redis/redis.conf最好备份一份redis.conf.bak
  # Accept connections on the specified port, default is 6379 (IANA #815344).
  # If port 0 is specified Redis will not listen on a TCP socket.
  port 6379
  #####修改默认端口
  # Creating a pid file is best effort: if Redis is not able to create it
  # nothing bad happens, the server will start and run normally.
  pidfile /var/run/redis_6379.pid
  #####修改pid目录为新建的目录
  # The working directory.
  #
  # The DB will be written inside this directory, with the filename specified
  # above using the 'dbfilename' configuration directive.
  #
  # The Append Only File will also be created inside this directory.
  #
  # Note that you must specify a directory here, not a file name.
  dir ./
  #####修改dump目录为新建目录
  # Specify the log file name. Also the empty string can be used to force
  # Redis to log on the standard output. Note that if you use standard
  # output for logging but daemonize, logs will be sent to /dev/null
  logfile ""
  #####修改log存储目录为新建目录
  3)持久化
  默认rdb,可选择是否开启aof,若开启,修改配置文件appendonly
  4)启动redis,查看各目录下文件
  # redis-server /etc/redis/redis.conf
  查看dump,log,pid等
  # cd data
  # ll
  total 0
  # ll../log
  -bash: ll../log: No such file or directory
  # ll ../log
  total 4
  -rw-r--r--. 1 root root 1861 Dec5 16:15 redis.log
  # ll ../run
  total 4
  -rw-r--r--. 1 root root 6 Dec5 16:15 redis_6379.pid
  #
  发现只有日志,没有dump和pid信息,是因为当前redis服务仍然是console模式运行的,且没有数据存储操作
  停止redis服务,修改配置文件使得redis在background运行

  改成yes,保存,重启redis服务
  5)客户端连接redis
  # redis-cli
  127.0.0.1:6379>    #####默认端口6379
  6)至此,redis基础配置完毕,若有其他相关配置调整,可查找文档在修改
  三、服务及开机自启动
  1)创建redis启动脚本
  拷贝解压包下utils下redis启动脚本至/etc/init.d
  # cd /srv/redis-stable/utils/
  # cp redis_init_script /etc/init.d/
  修改脚本名称为redis 并修改脚本pid及conf路径为实际路径

  至此,在/etc/init.d目录下,已经可以通过service redis start/stop 启动/关闭redis服务了。
  2、给启动脚本添加删除权限
  #chmod +x /etc/init.d/redis给启动脚本添加权限
  #chmod -x /etc/init.d/redis删除权限
  3、设置自启动
  #chkconfig redis on
  如果运行报错,提示
  # chkconfig redis on
  service redis does not support chkconfig
  是因为没有在启动脚本里加入redis启动优先级信息,可添加如下

  再次执行chkconfig redis on,成功,至此自启动配置完毕。
  参数介绍:
参数解释daemonize  是否以后台daemon方式运行
pidfilepid文件位置port监听的端口号timeout请求的超时时间loglevellog信息级别logfilelog文件的位置databases  开启数据库的数量
save * *保存快照的频率 第一个表示多长时间,第二个表示执行多少次写操作rdbcompression是否使用压缩dbfilename数据快照文件名(只文件名,不包括目录)dir数据快照的保存目录appendonly是否开启appendonly,开启的话每次写操作会记录一条log,提高抗风险,影响效率appendfsyncappendonlylog如何同步到磁盘(每次强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)  本实验参考http://blog.csdn.net/ludonqin/article/details/47211109此文档完成。

页: [1]
查看完整版本: centos 6.5 安装、配置redis-liwenjia