Redis加入Centos Linux开机启动
网上有很多redis在linux下自动启动的例子,实现的方式很多,很多都是参考一个老外流传出来启动的例子,其实直接使用是不行,而且有很多地方有一些语法错误,这里就讲我实验过,成功的Linux服务chkconfig配置启动的方法。
下面直接贴出内容,大家下载后进行修改即可使用,后面会详解具体参数:
# chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/opt/redis-2.8.9/src/redis-server REDIS_CLI=/opt/redis-2.8.9/src/redis-cli PIDFILE=/var/run/redis.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
# 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配置中的选项打开。
其实所以问题都是一点点的排查检查才能最终正确。保持耐心和细心就可以了。
相关推荐
### Redis在Centos Linux上实现自启动的知识点详解 #### 一、背景介绍与...通过以上步骤,我们不仅完成了Redis在Centos Linux系统中的安装配置,还实现了其开机自动启动的功能,这有助于提高系统的稳定性和可用性。
### CentOS (Linux) 离线安装 Redis 详细教程 #### 一、引言 在没有互联网连接的情况下,在 CentOS 系统上安装 Redis 可能会遇到诸多挑战,如依赖包缺失、软件包管理工具配置不当等。本教程旨在帮助读者解决这些...
### CentOS 开机自启动 Redis 的配置与管理 #### 背景介绍 在现代软件架构中,Redis(Remote Dictionary Server)是一种广泛使用的开源键值存储系统,它支持多种数据结构如字符串、哈希表、列表等,并且可以作为...
### Linux下Redis 3.2.2安装与启动配置 #### 环境准备 - **操作系统**: CentOS 6.5 (2.6.32-431.el6.x86_64) - **软件**: Redis 3.2.2 #### 下载与解压 1. 使用`wget`命令下载Redis安装包: ```bash wget ...
然后,你可以使用`chkconfig`(CentOS/RHEL)或`systemd`(Ubuntu/Debian)将Redis设置为开机启动。 ```bash # 在/etc/init.d/redis 文件中添加启动、停止等函数 # ... # 添加执行权限 sudo chmod +x /etc/...
设置 Redis 为开机自动启动 为了让 Redis 在系统启动时自动运行,可以使用以下命令: ```bash chkconfig redis on ``` 对于 CentOS7 使用 `systemctl`: ```bash systemctl enable redis ``` ##### 6. 进入 ...
在Linux服务器上安装Redis,尤其是处于离线环境的CentOS 7.5系统,需要一些必要的依赖包,其中最重要的就是GCC(GNU Compiler Collection)。GCC是GNU项目的一部分,它是一个开源的编译器套件,用于将源代码编译成可...
本资源可结合我的文章《详解CentOS7下编译安装Redis5.x设置开机启动及修改端口(含redis需编译安装包和redis免编译安装包)》配合使用,同时也可单独去使用。包含redis3.0.7免编译版安装包,redis5.0.7离线安装包,...
5. **启动Redis服务**:创建一个系统服务脚本,例如`/etc/init.d/redis-server`,然后通过`sudo systemctl enable redis-server`使其开机启动,并用`sudo systemctl start redis-server`启动服务。 **二、配置Redis...
最后,使用`systemctl start redis`、`systemctl enable redis`来启动和设置开机启动。 3. **Nginx**:Nginx是一款高性能的Web服务器,常用于反向代理和负载均衡。离线安装Nginx,我们需要将`nginx-*.rpm`传输到...
- 将 Redis 设置为开机自动启动。 ``` echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local ``` 11. **设置密码**: - 在 Redis 配置文件中添加或修改密码选项。 ``` vi /etc/...
在Linux的CentOS 7.0和Debian 8.0系统中设置Redis开机启动,主要是通过创建自定义的初始化脚本,然后利用系统提供的服务管理工具(如`chkconfig`或`update-rc.d`)将Redis服务注册为开机启动。这个过程确保了每次...
在Linux系统,特别是CentOS 7环境中,离线安装Redis是一项常见的任务,尤其在没有网络连接或者网络环境受限的服务器上。本教程将详细介绍如何在CentOS 7中离线安装Redis及其所有必要的依赖。 首先,我们需要理解...
设置开机启动Redis服务,创建软链接到`/etc/init.d`: ```bash sudo ln -s /usr/local/bin/redis-server /etc/init.d/redis ``` 然后,启动、停止和重启Redis服务可以通过以下命令完成: ```bash sudo service ...
5. 设置为开机启动:`sudo systemctl enable redis` **在CentOS/RHEL系统上安装Redis**: 1. 添加Redis仓库:`sudo tee /etc/yum.repos.d/redis.repo ,然后添加仓库配置。 2. 安装Redis:`sudo yum install redis`...
安装完成后,启动Redis服务并设置开机启动: ``` sudo systemctl start redis sudo systemctl enable redis ``` 4. **配置Redis安全**: 默认情况下,Redis是监听在所有网络接口上的,为了安全起见,可以通过...
6. **设置开机启动**:为了使Redis在每次系统启动时自动运行,执行: ``` sudo systemctl enable redis ``` 7. **验证安装**:使用`redis-cli`工具(在安装过程中会一起编译安装)测试连接: ``` redis-cli ...
若需设置为开机启动: ```bash sudo systemctl enable redis ``` Redis的默认配置文件位于`/etc/redis/redis.conf`,可以根据实际需求进行修改。例如,如果你想更改Redis监听的端口,可以在配置文件中找到`port`项...
7. **设置开机启动**:为了使Redis在系统启动时自动启动,创建一个系统服务文件,如在Systemd系统中,可以编写一个名为`redis.service`的文件,并放入`/etc/systemd/system`目录。然后,使用`sudo systemctl enable ...
- 在CentOS/RHEL系统中,可以使用`sudo yum install redis`或者加入EPEL源后安装。 - 安装完成后,配置文件通常位于`/etc/redis/redis.conf`,根据需求进行配置。 - 启动Redis服务:`systemctl start redis....