linux下redis安装、启动与停止,redis做成服务
如果的linux可以链接网络,那么可以直接联网下载。直接输入代码:
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
tar zxvf redis-3.0.2.tar.gz
我们会看到在该目录下多了一个文件,redis-3.0.2 ,
我们进入该目录,然后编译执行命令make,等待10左右,我们就会看到已经编译完了,我们看到如下界面,说明我们安装成功了。
测试
[plain] view plain copy
- # make test
[plain] view plain copy
- # yum install tcl
错误1:You need tcl 8.5 or newer in order to run the Redis test
解决:
# yum install tcl
错误2:
[exception]: Executing test client: NOREPLICAS Not enough good slaves to write..
NOREPLICAS Not enough good slaves to write.
......
Killing still running Redis server 63439
Killing still running Redis server 63486
Killing still running Redis server 63519
Killing still running Redis server 63546
Killing still running Redis server 63574
Killing still running Redis server 63591
I/O error reading reply
......
解决:
vim tests/integration/replication-2.tcl
- after 1000
+ after 10000
(其实就是将1000改为10000)
错误3:
[err]: Slave should be able to synchronize with the master in tests/integration/replication-psync.tcl
Replication not started.
解决:
遇见过一次,重试make test就ok了。
错误4:
[err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl
解决:
vim tests/integration/replication-psync.tcl
- after 100
+ after 1000
make PREFIX=/usr/local/redis install
会在/usr/local/redis下生产bin文件夹 bin下面有
redis-benchmark redis性能检测工具
redis-check-rdb 检查rbd日志的工具
redis-sentinel Redis集群的管理工具 监控多个master-slave集群,发现master宕机后能进行自动切换
redis-check-aof 检查aof日志的 工具
redis-cli redis-server
等文件
三、设置服务
可以看到如果我们启动redis服务的话,每次都要进入到安装目录,这样是不是很繁琐,所以我们将redis做成一个服务,我们直接启动。
(设置服务前如果redis服务在开着 要先关闭redis服务 不然后面生成不了redis-6379.pid,可以查看redis服务进程 关闭杀死resid服务)
首先将utils/redis_init_script文件复制到/etc/init.d下,同时易名为redis。执行命令
cp /usr/local/redis-3.0.2/utils/redis_init_script /etc/rc.d/init.d/redis
然后在执行命令,vi /etc/rc.d/init.d/redis,并在文档第二行添加# chkconfig: 2345 80 90。如果/usr/local/redis/bin中没有redis-server和redis-cli文件的话,我们要在我们的安装目录下复制一个过来。否则服务启动时找不到redis-server。下图第二个红框所示。并且在第三个$EXEC $CONF 后边加一个&,表示让redis作为后台服务启动,否则该服务会独占输入屏。
可以看到在/etc/init.d/redis文件中有这么一行:CONF="/etc/redis/${REDISPORT}.conf"。于是将redis配置文件拷贝到/etc/redis/下 。
mkdir /etc/redis
cp/usr/local/redis-3.0.2/redis.conf /etc/redis/6379.conf
完成上面的操作之后,即可注册服务:
?
1
chkconfig --add redis
然后启动redis服务
?
1
service redis start
这样我们就将redis服务注册好了,
如果service redis stop ,你会发现他提示/var/run/redis_6379.pid does not exist, process is not running 这说明在run下没有这个文件,我们进入到/var/run下发先真的没有这个文件,但是有redis.pid文件。
我们我们要将/etc/rc.d/init.d/redis 文件中的redis_${REDISPORT}.pid修改为redis.pid。
这样我们重启服务后,在用该命令关闭就可以了。到这里我们的redis服务就安装好了,并做好了一个服务。
以上就是Linux下安装Redis的全过程,希望对大家安装Redis有所帮助。
java 客户端链接不上redis解决方案
telnet 192.168.0.104 6379
发现端口不能拼通,但是linu下其他的端口能拼通,说明就是redis自身配置的问题了
看了下配置文件,发现配置文件绑定了本地ip,该配置会导致,其他ip登录被拒绝,所以我们把它注释掉
接下来再测试运行,发先已经链接上了,说明问题解决,但是又出现新的问题 :DENIED Redis is running in protected mode because protected mode is enabled…
该问题说,redis目前处于受保护模式,不允许非本地客户端链接,我们可以通过给redis设置密码,然后客户端链接的时候,写上密码就可以解决了
配置redis的命令
config set requirepass 123 ->123是密码
现在java客户端通过配置主机ip号,密码就能链接上了
redis关闭
到redis节点目录下执行如下命令
redis-cli -p 端口号 shutdown
开配置文件把下面对应的注释掉
# bind 127.0.0.1
- 1
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
- 1
保护模式
protected-mode no