这篇文章将为大家详细讲解有关Linux中如何配置单实例redis,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

redis 的介绍

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。 PS:此次安装为redis储存字符串的形式,储存用户会话session。

安装规划

软件包保存位置:/usr/local/src软件包编译位置:/usr/local/src/redis-x-x/软件安装位置:/usr/local/redis/软件命令位置:/usr/local/redis/bin软件日志保存位置:/usr/local/reids/redis.log软件配置文件位置:/usr/local/redis/etc/redis.conf软件pid文件位置:/var/run/redis.pid软件启动服务位置:/etc/init.d/redis软件认证需要密码Redis 的安装

redis的准备工作,安装依赖包

Centos系列:

yumrepolistyum-yinstallgccgcc-c++makegmakecmakezlibtcl

Ubuntu系列:

agt-getupdateAgt-getinstallgccgcc-c++makezlibtcl

下载包,安装redis

cd/usr/local/src\\进入软件包目录(规范化)wgethttp://download.redis.io/releases/redis-3.2.9.tar.gz\\下载软件包tar-xzfredis-3.2.9.tar.gz\\#解压并进入redis目录cdredis-3.2.9\\解压并进入redis目录#运行测试./runtest#预编译编译安装makemaketest#进入src目录安装cdsrcmakePREFIX=/usr/local/redisinstallPS:redis的编译安装过程漫长,在此处我们把redis编译安装到了"/usr/local/redis"目录了,默认情况下bin命令都是在"/usr/bin"下面直接可以调用redis的命令。指的安装路径后我们需要在后期添加系统环境变量。

Redis配置文件

创建redis的配置文件目录,拷贝配置文件redis.conf

mkdir-p/usr/local/redis/etccp/usr/local/src/redis-3.2.9/redis.conf/usr/local/redis/etc/redis.conf

修改配置文件

vim /usr/local/redis/etc/redis.conf cat /usr/local/redis/etc/redis.conf |grep -v “^$” |grep -v “#

bind0.0.0.0\\修改内容=======对外监听protected-modeyesport6379\\修改端口号=====按照需求tcp-backlog511timeout0tcp-keepalive300daemonizeyes\\守护进程模式打开,添加系统服务用的supervisednopidfile/var/run/redis.pid\\pid的位置loglevelverbose\\日志启动级别logfile/usr/local/redis/redis.log\\日志保存位置databases16\\reids数据库个数save9001save30010save6010000stop-writes-on-bgsave-erroryesrdbcompressionyesrdbchecksumyesdbfilenamedump.rdbdir./slave-serve-stale-datayesslave-read-onlyyesrepl-diskless-syncnorepl-diskless-sync-delay5repl-disable-tcp-nodelaynoslave-priority100requirepassmima\\访问身份验证=================密码maxmemory256m\\最大内存设置maxmemory-policyvolatile-ttl\\redis最大内存丢弃规则appendonlynoappendfilename"appendonly.aof"appendfsynceverysecno-appendfsync-on-rewritenoauto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mbaof-load-truncatedyeslua-time-limit5000slowlog-log-slower-than10000slowlog-max-len128latency-monitor-threshold0notify-keyspace-events""hash-max-ziplist-entries512hash-max-ziplist-value64list-max-ziplist-size-2list-compress-depth0set-max-intset-entries512zset-max-ziplist-entries128zset-max-ziplist-value64hll-sparse-max-bytes3000activerehashingyesclient-output-buffer-limitnormal000

配置文件修改内容:

port6379修改端口号bind0.0.0.0修改绑定IP(按需求)timeout0修改连接超时时间loglevelverbose日志三种类型debug、verbose、notice、warnlogfile/var/log/redis.log日志目录*****maxmemory256mredis的内存大小***maxmemory-policyvolatile-ttl内存丢弃策略requirepass密码redis认证规则**(按需求)

PS:注意配置日志和pid等的位置,要和启动脚本关联。密码也要和启动脚本关联。

创建修改系统启动配置文件

创建系统服务启动文件

启动文件的模板:/usr/local/src/redis-3.2.9/utils/redis_init_script

cp/usr/local/src/redis-3.2.9/utils/redis_init_script/etc/init.d/redischmod755/etc/init.d/redis

修改系统启动脚本

#!/bin/sh#Configurationsinjectedbyinstall_serverbelow....EXEC=/usr/local/redis/bin/redis-server######服务命令启动#####CLIEXEC=/usr/local/redis/bin/redis-cli####客户端命令路径###PIDFILE=/var/run/redis.pid###pid文件所在位置#####要和配置文件一致CONF="/usr/local/redis/etc/redis.conf"####redis配置文件的路径##REDISPORT="6379"#####启动端口#####################SysVInitInformation#chkconfig:-5874#####添加内容,注释但有意义#######description:redis_6379istheredisdaemon.###BEGININITINFO#Provides:redis_6379#####启动端口#####################Required-Start:$network$local_fs$remote_fs#Required-Stop:$network$local_fs$remote_fs#Default-Start:2345#Default-Stop:016#Should-Start:$syslog$named#Should-Stop:$syslog$named#Short-Description:startandstopredis_6379#Description:Redisdaemon###ENDINITINFOcase"$1"instart)if[-f$PIDFILE]thenecho"$PIDFILEexists,processisalreadyrunningorcrashed"elseecho"StartingRedisserver..."$EXEC$CONFfi;;stop)if[!-f$PIDFILE]thenecho"$PIDFILEdoesnotexist,processisnotrunning"elsePID=$(cat$PIDFILE)echo"Stopping..."$CLIEXEC-p$REDISPORT-amimashutdown\\###修改内容,添加-a密码验证的项目###while[-x/proc/${PID}]doecho"WaitingforRedistoshutdown..."sleep1doneecho"Redisstopped"fi;;status)PID=$(cat$PIDFILE)if[!-x/proc/${PID}]thenecho'Redisisnotrunning'elseecho"Redisisrunning($PID)"fi;;restart)$0stop$0start;;*)echo"Pleaseusestart,stop,restartorstatusasfirstargument";;esac

PS:看过《Linux就该这样学》的人都知道系统启动文件怎么写,什么格式,在这里我们就不在解释了。

redis 启动脚本添加认证两个方法

方法一: 方法二:

将启动脚本添加到系统服务

chkconfig--addredis#添加系统服务chkconfigredison#设置开机自启serviceredisstartserviceredisstatusserviceredisstopserviceredisrestart

Ubuntu系统没有chkconfig

PS:chkconfig 在ubuntu系统中有可能不太容易安装,可以使用update-rc.d 命令来进行使用。

update-rc.dredisddefaults8080root@linuxprobe:/etc/redis#update-rc.dredisddefaults8080Addingsystemstartupfor/etc/init.d/redisd.../etc/rc0.d/K80redisd->../init.d/redisd/etc/rc1.d/K80redisd->../init.d/redisd/etc/rc6.d/K80redisd->../init.d/redisd/etc/rc2.d/S80redisd->../init.d/redisd/etc/rc3.d/S80redisd->../init.d/redisd/etc/rc4.d/S80redisd->../init.d/redisd/etc/rc5.d/S80redisd->../init.d/redisd2345启动016关闭

如果在启动脚本里没有添加认证字段:

启动文件的一致性

关于“Linux中如何配置单实例redis”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。