linux下redis安装、启动与停止,redis做成服务

22 篇文章 0 订阅

如果的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
 
  1. # make test  

 

[plain]  view plain  copy
 
  1. # 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 

 

 

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Redis是一种高性能的键值存储系统,它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。在Linux系统下,可以通过以下步骤安装启动停止Redis,并将其做成服务安装Redis: 1.打开终端,使用以下命令安装Redis: sudo apt-get install redis-server 2.Redis安装完成后,可以使用以下命令检查其版本信息: redis-server --version 启动Redis: 1.打开终端,使用以下命令启动Redisredis-server 2.如果需要以后台方式运行Redis,则可以使用以下命令: redis-server --daemonize yes 停止Redis: 1.打开终端,使用以下命令停止Redisredis-cli shutdown 2.如果Redis以后台方式运行,则可以使用以下命令停止它: redis-cli shutdown save 将Redis做成服务: 1.打开终端,使用以下命令创建Redis服务脚本: sudo nano /etc/init.d/redis_6379 2.在编辑器中输入以下内容: #!/bin/sh #### BEGIN INIT INFO # Provides: redis_6379 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Redis data structure server # Description: Redis data structure server. See https://redis.io ### END INIT INFO # Author: Redis Labs, Inc. <support@redislabs.com> NAME=redis-server DAEMON=/usr/bin/$NAME DESC=redis-server PIDFILE=/var/run/redis_6379.pid CONFIG="/etc/redis/6379.conf" test -x $DAEMON || exit 0 . /lib/lsb/init-functions set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PIDFILE \ --exec $DAEMON -- $CONFIG echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ $PIDFILE --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ $PIDFILE --exec $DAEMON -- $CONFIG echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 3.保存文件并退出编辑器。 4.使用以下命令使服务脚本可执行: sudo chmod +x /etc/init.d/redis_6379 5.使用以下命令注册服务: sudo update-rc.d redis_6379 defaults 6.使用以下命令启动服务: sudo service redis_6379 start 7.使用以下命令停止服务: sudo service redis_6379 stop 通过以上步骤,Redis会自动启动停止,并且可以作为服务运行。这样可以极大地方便Redis的管理和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值