百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

利用chkconfig将Redis脚本设置为服务并开机自启动

mhr18 2024-10-23 11:32 29 浏览 0 评论

如何在Linux中配置Redis服务并设置为开机自启

废话不多说,咱们直接开始。

1、修改redis.conf配置文件

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

大概在148行,当然你也可以使用:/daemonize搜索。

2、查看原生的redis启动脚本

[root@kingdom ~]# find / -name redis_init_script

/general-redis/redis-4.0/utils/redis_init_script

提示:

redis启动脚本一般在redis根目录的utils

(2)查看脚本

vim /general-redis/redis-4.0/utils/redis_init_script

提示:

注意以下标红的这几点。

因为我们下面的操作都是为它服务的。

其实就是把这些变量的值修改为我们自己redis的实际路径和配置文件。

补充一点:

大家可以多looklook人家的脚本,可以学到不少东西。

3、复制脚本redis_init_script

将redis_init_script复制到/etc/init.d/redis

这里是为了将其配置为服务,方便管理。

[root@kingdom ~]# cp /general-redis/redis-4.0/utils/redis_init_script /etc/init.d/redis

[root@kingdom ~]# ll /etc/init.d/redis

-rwxr-xr-x 1 root root 1098 Sep 20 10:11 /etc/init.d/redis

4、 修改脚本redis

注意:

这里修改的是/etc/init.d/redis脚本,它将在修改完后完全为我们服务。

vim /etc/init.d/redis

(1) 、添加如下图两行内容

# chkconfig: 2345 66 77

# description: redis service shell

关于为什么这样做,请参考在下之前的文章:

浅谈Linux中通过chkconfig来设置服务开机自启动

(2) 、修改server和cli路径

查看自己redis的server和cli绝对路径

我的是这个/general-redis/redis4.0/bin

修改脚本如下:

(3) 、创建配置文件

原来的配置文件CONF="/etc/redis/${REDISPORT}.conf",这里的REDISPORT=6379。

即:CONF的位置在/etc/redis/6379.conf

这里我们可以和它保持一致,当然也可以自定位置。

我选择前者。

补充:要是选择后者需要指定CONF=你的配置文件实际位置

/etc创建redis目录and将我们的配置文件cp到/etc/redis/下。

[root@kingdom bin]# mkdir /etc/redis

[root@kingdom bin]# cp /general-redis/redis4.0/etc/redis.conf /etc/redis/6379.conf

[root@kingdom bin]# ll /etc/redis/6379.conf

-rw-r--r-- 1 root root 58882 Sep 20 10:34 /etc/redis/6379.conf

别忘把redis脚本:wq保存退出

最后补充一点:

如果你的redis设置了密码,stop时需要cli客户端指定密码登录来进行执行shutdown命令

如下图:

$CLIEXEC -p $REDISPORT -a 123456 shutdown

5、 测试脚本

ps -ef | grep redis*

service redis start

service redis stop

6、 设置为开机启动

[root@kingdom ~]# chkconfig redis on

[root@kingdom ~]# chkconfig --list

测试完成,感谢大家支持。

7、补充

Redis脚本内容如下所示,或者大家可以留言。

#!/bin/sh

# chkconfig: 2345 66 77

# description: redis service shell

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

REDISPORT=6379

EXEC=/general-redis/redis4.0/bin/redis-server

CLIEXEC=/general-redis/redis4.0/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

相关推荐

风险突出的高危端口汇总 一网打尽 !

高危端口一直是攻击者关注的焦点,了解这些端口的风险、攻击方式及防护策略至关重要。一、文件传输类端口1.TCP20/21:FTP服务端口FTP(文件传输协议)用于文件的上传和下载。其明文传输特性使得...

9. Redis Operator (2) —— Sentinel部署

0.简介上一篇,我们借由Redis的单机部署,学习了一下Operator的基本使用,今天,我们在此基础上,部署一下Redis的Sentinel模式。Sentinel本质上是为了解...

Spring Boot3 整合 Redis 后解决缓存穿透问题全解析

在当今互联网软件开发领域,构建高效、稳定的应用系统是每个开发者的追求。对于从事互联网软件开发的人员来说,SpringBoot和Redis都是极为常用的技术工具。当在SpringBoot3...

Spring Boot3 整合 Redis 后解决缓存雪崩问题全解析

在当今互联网软件开发领域,高并发、高性能的系统需求日益增长。对于从事互联网软件开发的人员来说,构建高效的缓存机制至关重要。SpringBoot3作为一款流行的Java框架,与Redis这一...

Sa-Token 多账号体系下Redis持久化问题

在使用Sa-Token框架实现多账号体系时,当后端服务重启后,系统报错"未能获取对应StpLogic,type=XXX"。这种情况通常发生在配置了Redis持久化存储的场景下...

外贸独立站缓存迷惑行为:你的Redis可能正在制造更多问题!

上周帮一个深圳卖家排查网站卡顿,发现他们用Redis缓存了整站HTML——"你们这是把缓存当备份用呢?"结果每次更新产品都要手动清空缓存,编辑小哥差点辞职...最近对象缓存圈两大魔教...

别再用top和htop了,这几款终端神器让你的服务器状态一目了然

当top命令成为性能瓶颈:一个深夜运维的真实困境凌晨三点,服务器告警短信突然炸响。老王盯着屏幕上top命令的黑白界面,CPU使用率飙升到90%却找不到具体进程,内存占用数据分散在不同列,磁盘I/O更是...

Redis学习笔记:管道(Pipelining)技术详解(第三章)

在掌握了Redis的基础命令后,如何进一步提升批量操作的效率?管道(Pipelining)技术是解决这一问题的关键。本章将深入解析管道的工作原理、使用场景及与其他技术的对比,帮助你在高并发场景下优化R...

Redis8.0有哪些新特性(redis最新特性)

Redis8.0引入了多项新特性和功能增强,以下是其中的一些亮点:1、数据结构:向量集合(VectorSet):这是一种新的数据类型,专为向量相似性搜索设计。它基于有序集(sortedset)...

Netty 的对象池(netty objectdecoder)

Netty是一个高性能的网络通信框架,广泛用于构建高并发、低延迟的TCP/UDP服务。为了提升性能,Netty内部大量使用了对象池(ObjectPool)技术来减少频繁创建和销毁对象带来的...

Redis学习笔记:核心命令与数据类型操作指南(第二章)

上一章我们梳理了Redis的核心应用场景与选型逻辑,本章将聚焦Redis的命令体系,从键操作到各数据类型的核心命令,帮你快速掌握Redis的"操作语法"。一、键(Key)命令:Redi...

Redis面试核心考点总结(覆盖 90% 的 Redis 面试场景)

一、基础核心数据类型与适用场景String:缓存、计数器(INCR)、分布式锁(SETNX)Hash:存储对象(用户信息、商品属性)List:消息队列(LPUSH/BRPOP)、时间线Set:标...

Redis ListPack有哪些具体应用场景?

Redis的Listpack是一种紧凑的数据结构,适用于存储少量数据。它被设计为ziplist的一种改进版本,旨在解决ziplist中存在的连锁更新问题,并提供更高效的内存使用和访问速度。以下是Lis...

SpringBoot实现单点登录(SSO)的4种方案

单点登录(SingleSign-On,SSO)是企业应用系统中常见的用户认证方案,它允许用户使用一组凭证访问多个相关但独立的系统,无需重复登录。对于拥有多个应用的企业来说,SSO可以显著提升用户体验...

刚刚,给学妹普及了登录的两大绝学

今天跟大家聊一个比较基础的话题,就是实现登录的方式有哪些?适合刚入行的朋友。华山之Session绝学Session我们称之为会话控制,是一种在服务器端保持会话状态的解决方案。通俗点来讲就是客户...

取消回复欢迎 发表评论: