文档章节

CentOS7配置redis开机启动

找个没人用的名字
 找个没人用的名字
发布于 2016/04/12 10:01
字数 1067
阅读 136
收藏 0

CentOS7配置redis开机启动

[摘要:一:道理先容 先看下当前体系已设置的开机自启动顺序有哪些:

[root@localhost init.d]# chkconfig --list

Note: This output shows SysV services only and does]

一:原理介绍

先看下当前系统已设置的开机自启动程序有哪些:

[root@localhost init.d]# chkconfig --list

Note: This output shows SysV services only and does not include native

      systemd services. SysV configuration data might be overridden by native

      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.

      To see services enabled on particular target use

      'systemctl list-dependencies [target]'.

netconsole     0:off 1:off 2:off 3:off 4:off 5:off 6:off
network         0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost init.d]# ls /etc/init.d/ -lrt
total 40
-rwxr-xr-x. 1 root root  6470 Jan 15  2015 network
-rwxr-xr-x. 1 root root  2989 Jan 15  2015 netconsole
-rw-r--r--. 1 root root 13430 Jan 15  2015 functions
-rw-r--r--. 1 root root  1160 Mar  6  2015 README
-rw-r--r--. 1 root root    37 Nov 30 05:43 dump.rdb

从上面可以看出系统已设置的开机自启动程序有network和netconsole,新增开机自启动程序,基本原理为:

系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可(如我在/etc/init.d/下新建一个redis的脚本,开机启动时会去加载执行该脚本;当然这只是开机设置自启动的一种方法)

二:实践

废话少说,直接来步骤:

1、设置redis.conf中daemonize为yes,确保守护进程开启。

2、编写开机自启动脚本

vi /etc/init.d/redis

脚本内容如下:

# chkconfig: 2345 10 90
# description: Start and Stop redis
 
PATH=/usr/local/bin:/sbin:/usr/bin:/bin 
REDISPORT=6379
EXEC=/usr/local/redis-3.0.0-beta5/src/redis-server
REDIS_CLI=/usr/local/redis-3.0.0-beta5/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis-3.0.0-beta5/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  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

3、写完后保存退出VI

4、设置权限

chmod 755 redis

5、启动测试

/etc/init.d/redis start

启动成功会提示如下信息:

Starting Redis server...
2358:M 30 Nov 05:34:16.991 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                 
          _.-``__ ''-._                                           
      _.-``    `.  `_.  ''-._          Redis 2.9.54 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                 
(    '      ,      .-`  | `,    )    Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'|    Port: 6379
|    `-._  `._    /    _.-'    |    PID: 2358
  `-._    `-._  `-./  _.-'    _.-'                                 
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |          http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                 
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                 
      `-._    `-.__.-'    _.-'                                     
          `-._        _.-'                                         
              `-.__.-'                                             
2358:M 30 Nov 05:34:16.993 # Server started, Redis version 2.9.54
2358:M 30 Nov 05:34:16.993 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2358:M 30 Nov 05:34:16.993 * The server is now ready to accept connections on port 6379

使用redis-cli测试:

[best_husband@localhost src]$ /usr/local/redis-3.0.0-beta5/src/redis-cli
127.0.0.1:6379> set name usbdrivers
OK
127.0.0.1:6379> get name
"usbdrivers"
127.0.0.1:6379> quit
[best_husband@localhost src]$

6、设置开机自启动

# 尝试启动或停止redis
service redis start
service redis stop
 
# 开启服务自启动
chkconfig redis on

7、关机重启测试

reboot

然后在用redis-cli测试即可。

说明:本人最初测试时在/etc/init.d/redis脚本文件里没有加上最开头的两行,然后执行chkconfig redis on时报错:service redis does not support

必须把下面两行注释放在/etc/init.d/redis文件靠前的注释中:

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

上面的注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

© 著作权归作者所有

共有 人打赏支持
找个没人用的名字
粉丝 0
博文 10
码字总数 2560
作品 0
徐汇
centos7 yum install redis

centos7 yum install redis 直接yum 安装的redis 不是最新版本 yum install redis 如果要安装最新的redis,需要安装Remi的软件源,官网地址:http://rpms.famillecollet.com/ yum install -y...

linjin200
06/04
0
0
CentOS7 yum安装Redis

安装redis: redis安装完毕后,我们来查看下redis安装时创建的相关文件,如下: 通过上图,我们可以看出redis的配置文件是/etc/redis.conf,数据文件dump.rdb存放到/var/lib/redis/目录下,日...

心梦无双
2016/12/10
184
0
CentOS7 安装配置redis4.0.11并设置开机自启

绪论 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists...

Bob_666
08/10
0
0
centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
08/20
0
0
【搭建开发环境-LNMP】-06:CentOS7中安装Redis

1.先查看yum源有没有redis安装包 2.安装和启动 1).安装 2).启动 3. 配置redis: /etc/redis.conf 注释掉 bind 127.0.0.1 这行(前面加#号), 这样才可以让其他IP(如你的主机windos)访问这个red...

kimcerry
2016/04/12
22
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring之IOC和AOP学习摘要

一、IOC(Inversion of Control)或者依赖注入(Dependency Injection) 1、底层实现原理:反射 2、三大核心接口: BeanFactory:简单容器系列,只是实现了容器最基本的功能。 ApplicationC...

狠一点
22分钟前
4
0
缓存架构SpringBoot集成Curator实现zookeeper分布式锁

一、分布式锁简介 1、什么是锁 在单机环境下,当存在多个线程可以同时改变某个共享变量时,就需要同步来实现该功能,使其线程安全。 而同步就是通过锁来实现的。锁保证了同一时刻只有一个线程...

架构师springboot
23分钟前
1
0
11《Java核心技术》之Java提供了哪些IO方式? NIO如何实现多路复用?

一、提出问题 IO 一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO 扩展能力愈发重要。幸运的是,Java 平台 IO 机制经过不断完善,虽然在某些方面仍有不足,但已经...

飞鱼说编程
30分钟前
4
0
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

linuxprobe16
31分钟前
1
0
55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

1、Mysql用户管理; 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限; 语法: grant all on *.* to 'user'@'127.0.0.1' identified by 'password'; g...

芬野de博客
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部