Installation
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
The binaries that are now compiled are available in the src
directory. Run Redis with:
$ src/redis-server
You can interact with Redis using the built-in client:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
Are you new to Redis? Try our online, interactive tutorial.
来自 https://redis.io/download
若下面 可能看不懂有疑问可以看看 /node-admin/11622
redis官网地址:http://www.redis.io/
最新版本:2.8.3
在Linux下安装Redis非常简单,具体步骤如下(官网有说明):
1、下载源码,解压缩后编译源码。
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。
mkdir /usr/redis
cp src/redis-server /usr/redis
cp src/redis-benchmark /usr/redis
cp src/redis-cli /usr/redis
cp /redis.conf /usr/redis
cd /usr/redis
3、启动Redis服务。
$ redis-server redis.conf
4、然后用客户端测试一下是否启动成功。
$ redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
安装过程若出现 (参照: http://blog.csdn.net/luyee2010/article/details/18766911)
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install
[html] view plaincopy
vi /usr/redis/redis.conf
#查找daemonize no改为
#以守护进程方式运行
daemonize yes
#修改dir ./为绝对路径,
#默认的话redis-server启动时会在当前目录生成或读取dump.rdb
#所以如果在根目录下执行redis-server /usr/redis/redis.conf的话,
#读取的是根目录下的dump.rdb,为了使redis-server可在任意目录下执行
#所以此处将dir改为绝对路径
dir /usr/redis
#修改appendonly为yes
#指定是否在每次更新操作后进行日志记录,
#Redis在默认情况下是异步的把数据写入磁盘,
#如果不开启,可能会在断电时导致一段时间内的数据丢失。
#因为 redis本身同步数据文件是按上面save条件来同步的,
#所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#将redis添加到自启动中
echo "/usr/redis/redis-server /usr/redis/redis.conf" >> /etc/rc.d/rc.local (这一步 好像可以不要)
#启动redis
redis-server /usr/redis/redis.conf
#查看redis是否己启动
ps -ef | grep redis
2>【开放redis端口】
[html] view plaincopy
#关闭防火墙
service iptables stop
vi /etc/sysconfig/iptables
#添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
#重启防火墙
service iptables restart
3>【安装phpredis扩展】
[html] view plaincopy
tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz
cd owlient-phpredis-90ecd17
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
#执行完make install后会生成
#Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
#修改php.ini
vi /usr/local/php/etc/php.ini
#查找extension_dir,修改为
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
#添加redis
extension = redis.so
#重启apache
service httpd restart
知识塑造人生,程序缔造世界。 7年半工作经验,包括2年产品经验,5年半开发经验,半年团队经验。 深知最好的学习资料是官方提供文档以及经验积累。
来自 https://www.cnblogs.com/codersay/p/4301677.html
Redis加入Centos Linux开机启动
建一个文件 vi /etc/init.d/redisd 下面红色的字要注意
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig: 2345 10 90
# description: Start and Stop and restart redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/redis/redis-server
REDIS_CLI=/usr/redis/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis.conf"
AUTH="1234"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT -a $AUTH SHUTDOWN
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
2、写完后保存退出VI
3、设置权限
4、启动测试
启动成功会提示如下信息:
Starting Redis server...
Redis is running...
使用redis-cli测试:
[root@rk ~]# /usr/redisbin/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> exit
6、设置开机自启动
7、关机重启测试
然后在用redis-cli测试即可。
# chkconfig: 2345 10 90
表示通过chkconfig配置,在linux中2、3、4、5项中启动,这个2345代表就linux系统的启动顺序具体,具体内容是:等级0表示:表示关机、等级1表示:单用户模式、等级2表示:无网络连接的多用户命令行模式、等级3表示:有网络连接的多用户命令行模式、等级4表示:不可用、 等级5表示:带图形界面的多用户模式、 等级6表示:重新启动
如果看不明白,自己百度 chkconfig命令详细说明。
# description: Start and Stop redis
上面一句是描述
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
PATH是启动脚本使用的shell的搜索路径
REDISPORT=6379
REDISPORT指redis端口,启动redis使用
EXEC=/opt/redis-2.8.9/src/redis-server
安装redis后 redis-server的绝对路径,在启动redis时使用
REDIS_CLI=/opt/redis-2.8.9/src/redis-cli
redis连接程序绝对路径,在关闭redis时使用
PIDFILE=/var/run/redis.pid
redis.conf配置文件中指定的pid路径地址,这里说明一下,在 redis.conf配置文件中需要将 daemonize这个参数项设置为 yes才会在redis启动时生成pid文件,很多新人不知道,没有生成pid文件,所以脚本里根据pid文件关闭redis就失败。
CONF="/etc/redis.conf"
redis启动配置文件,启动使用
AUTH="1234"
如果redis设置了登录密码,就需要这个配置,具体看下面介绍stop的章节
start)
# 这里判断PID文件是否存在,如果存在,就说明reids启动中或者运行异常,因为redis启动后会创建一个pid文件,如果正常关闭就会删除这个pid文件
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
# 如果不存在pid文件,就启动reids,启动成功后提示 "Redis is running..."
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
# 在关闭reids的时候,如果pid文件不存在,就判断redis没有启动
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
## -- 如果存在pid文件,就获取pid编号,然后登录到redis中,输入SHUTDOWN 来停止redis服务
PID=$(cat $PIDFILE)
echo "Stopping..."
## -- 本节例子是redis有设置登录密码的例子,如果没有登录密码,下面的命令就去掉-a $AUTH : $REDIS_CLI -p $REDISPORT SHUTDOWN
$REDIS_CLI -p $REDISPORT -a $AUTH SHUTDOWN
sleep 1
## -- 循环判断pid文件是否存在,这里用的是是否可执行,道理一样,理解为程序是否停止就可以了,直到pid文件删除后,就说明redis关闭了。
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
最后说几个可能遇到的问题:
1. 如果启动脚本提示某个文件找不到,说明我们文件里的内容有误:比如 cat $(PIDFILE) -x ${PIDFILE} 如果这些写在正常的指令或者字符串中正常,但是在判断表达式[]中就会出错
2 .如果找不到pid文件,需要配置redis.conf配置中的选项打开。
其实所以问题都是一点点的排查检查才能最终正确。保持耐心和细心就可以了。
来自 https://www.cnblogs.com/yangcb/p/5775790.html
Linux上Redis加入服务(开机自启)
网上有很多这些文章,但是都不完整,我自己实践成功让redis开机自动启动。
一.先下载解压redis,然后进入utils目录
二.打开文件redis_init_script
三.根据实际环境重新写路径,注意最后的两行蓝色注释要加上。PIDFILE先去/var/run看看有没有redis开头的pid文件,没有的话先去redis-3.2.5/src下执行 ./redis-server ../redis.conf 手动启动redis,然后pid结尾的文件就会生成。
四.将redis_init_script 脚本拷贝到 /etc/init.d 下 修改名字为 redis
五. chmod +x /etc/init.d/redis 修改读写权限
六.重新回来redis目录打开redis.conf,修改如下图,no改成yes
六.尝试启动或停止redis
service redis start
service redis stop
七. 开启服务自启动
chkconfig redis on
八.加入开机自启服务
chkconfig –add redis
大功完成!机器重启就会看到redis已经启动了
来自 https://blog.csdn.net/lovejj1994/article/details/53096268
redis linux下的环境搭建 http://www.cnblogs.com/zsg88/p/8321644.html
安装完redis-4.0.1后设置linux开机自启动。
1.在redis/utils找到redis_init_script 将它拷贝到 /etc/init.d 目录并重命名为redis
cd /etc/init.d
cp /usr/local/programs/redis4/utils/redis_init_script redis
2.编辑redis脚本
vi redis
做以下修改
(1)在脚本的第一行后面添加一行内容如下:
#chkconfig: 2345 80 90
注册服务时需要
(2) 请根据自己的安装目录修改以下5个参数的实际路径
REDISPORT=6379 #端口
EXEC=/usr/local/bin/redis-server #启动服务的命令路径
CLIEXEC=/usr/local/bin/redis-cli #客户端路径
PIDFILE=/var/run/redis_${REDISPORT}.pid #记录pid(进程id)文件路径
CONF="/etc/redis/${REDISPORT}.conf" #配置文件路径
修改后如下
REDISPORT=6379
EXEC=/usr/local/programs/redis4/bin/redis-server
CLIEXEC=/usr/local/programs/redis4/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/usr/local/programs/redis4/redis_6379.conf"
确认以上目录路径存在,不存在则建立目录
(3)更改 redis 开启的命令,以后台运行的方式执行:
$EXEC $CONF & #“&”作用是将服务转到后面运行
3.以上配置操作完成后,便可将 Redis 注册成为服务:
# chkconfig --add redis
查看开机自启的服务中是否已经有我们的redis
chkconfig --list redis
4.打开防火墙端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
#将更改进行保存
/etc/rc.d/init.d/iptables save
#重启防火墙以便改动生效:(或者直接重启系统)
/etc/init.d/iptables restart
5.修改 redis 配置文件设置:
将redis.conf 拷贝一份命名成 端口+“.conf” ,对应启动脚本里的配置文件名称
cp redis.conf conf/6379.conf
cd conf
vi 6379.conf
修改如下配置
daemonize no 改为 daemonize yes
pidfile /var/run/redis.pid 改为成和自启动脚本里的路径一致 pidfile /var/run/redis_6379.pid
6.启动 Redis 服务
# service redis start
7.停止 Redis 服务
# service redis stop
来自 https://www.cnblogs.com/zsg88/p/8323475.html
Linux下安装配置redis并设置自动启动
1.首先下载redis到本地,解压
2.进入解压后的文件夹内安装
[root@localhost /]
[root@localhost /]
.................................................(各种安装信息)
[root@localhost /]
.................................................(各种安装信息)
3.复制目录下的配置文件到/etc
[root@localhost /]
4.修改配置文件将redis设置为后台运行, 将配置文件中daemonize为yes
[root@localhost /]
将配置文件中daemonize为yes
5.配置自动启动
[root@localhost /]
将下面内容复制进去
#!/bin/sh
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF &
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[root@localhost ~]
[root@localhost ~]
来自 https://blog.csdn.net/smallblood/article/details/78693885
Redis是一个C实现的基于内存、可持久化的键值对数据库,在分布式服务中常作为缓存服务。本篇将介绍在CentOS下如何从零开始安装到配置启动服务。
一. 安装Redis
Redis的安装其实相当简单,推荐的方式是下载redis的源码,并在本机编译后安装。
首次进入主文件夹的下载目录下,执行wget下载源码
[zhxilin@localhost ~]$ cd 下载
[zhxilin@localhost 下载]$ wget http://download.redis.io/redis-stable.tar.gz
接下来解压之后,移动到/usr/redis目录下
[zhxilin@localhost 下载]$ tar -zxvf redis-stable.tar.gz
[zhxilin@localhost 下载]$ su mv redis-stable /usr/redis
然后进入redis目录,执行make命令,编译redis源码
[root@localhost 下载]# cd /usr/redis/
[root@localhost redis]# make
编译完成之后,在src目录下有2个重要程序生成,一个是redis-server,另一个是redis-cli;接着进入src目录,执行make install,这时会把这些可执行程序拷贝到/usr/local/bin目录下,由于/usr/local/bin是在系统的环境变量$PATH下定义的,因此终端在任意位置就可以执行redis-server和redis-cli了。
[root@localhost redis]# cd src/
[root@localhost src]# make install
至此安装redis的工作就完成了。
我们来看看编译出来的几个程序分别是干什么的:
redis-server:顾名思义,redis服务
redis-cli:redis client,提供一个redis客户端,以供连接到redis服务,进行增删改查等操作
redis-sentinel:redis实例的监控管理、通知和实例失效备援服务
redis-benchmark:redis的性能测试工具
redis-check-aof:若以AOF方式的持久化,当意外发生时用来快速修复
redis-check-rdb:若以RDB方式的持久化,当意外发生时用来快速修复
安装完成之后,启动redis-server,并运行redis-cli进行测试
[zhxilin@localhost ~]$ redis-server
[zhxilin@localhost ~]$ redis-cli
127.0.0.1:6379> PING
PONG
127.0.0.1:6379>
如此说明redis服务已经正常工作,如果redis服务未启动,则运行redis-cli时会报Could not connect to Redis at 127.0.0.1:6379: Connection refused的错误。
二. 配置自启动
为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回到/usr/redis/目录中找到一个redis.conf的文件,这个文件是redis服务运行时加载的配置,我们先观察一下其中的内容
[zhxilin@localhost redis]$ vi redis.conf
此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonize和pidfile:
其中daemonize默认值是false,pidfile默认值是pidfile /var/run/redis_6379.pid
第一个表示是否daemon化,显然我们要把它改成daemonize yes;
第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行。
保存后退出。
有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,位置在/usr/redis/utils/redis_init_script。
我们来看看这个脚本做了些什么:
#!/bin/sh#
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径,上述标黄的地方都需要正确配置,多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。
另外看到这里conf的路径,我们需要把redis目录下的redis.conf文件拷贝到/etc/redis/6379.conf
[root@localhost utils]# cd /etc
[root@localhost etc]# mkdir redis
[root@localhost etc]# cp /usr/redis/redis.conf /etc/redis/6379.conf
接着将redis_init_script脚本拷贝到/etc/init.d/redisd
[root@localhost etc]# cp /usr/redis/utils/redis_init_script /etc/init.d/redisd
在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,而现在还缺一个系统启动时的配置:
[root@localhost zhxilin]# chkconfig redisd on
然后就会发现报了一个错误:服务 redisd 不支持 chkconfig ?
参考这篇文章, 这是因为我们需要在redis_init_script的开头加一个小改动:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
至于这里2345 90 10分别代表什么意思,请参考上面的文章链接。
保存完重新拷贝到/etc/init.d/redisd后,再运行chkconfig就完成了。
一切就绪之后,可以执行以下命令检验service是否设置成功:
[root@localhost zhxilin]# service redisd start
[root@localhost zhxilin]# service redisd stop
等价于
[root@localhost zhxilin]# /etc/init.d/redisd start
[root@localhost zhxilin]# /etc/init.d/redisd stop
最后重启一下系统吧,进入系统之后直接运行redis-cli检验redis服务是否已经自动运行了。
Ref:
http://wdxtub.com/2016/07/05/redis-guide/
来自 https://www.cnblogs.com/zhxilin/p/5892678.html