redis如何随系统启动
Redis可以通过命令redis-server启动,但这种启动方式适用于开发环境,对于生产环境来说,配置好redis的配置文件,并使redis随linux启动则更加方便些,下面则记录下redis如何随linux自动启动。
redis版本:5.0.3
1、在redis的安装目录的utils文件夹中找到初始化脚本文件redis_init_script,完整目录是/user/local/redis-5.0.3/utils/redis_init_script,将其复制到/etc/init.d文件夹中,命名为redis_+端口号,如redis_6379,该端口号是redis需要监听的端口号。
2、建立启动redis需要的配置文件及相关目录
| 目录名 | 说明 |
| /etc/redis |
存放redis的配置文件 |
| /var/redis/端口号 |
存放redis持久化文件 |
| 文件名 | 说明 |
| /var/run/redis_端口号.pid | redis的pid文件 |
| /var/log/redis.log | redis的日志文件 |
3、配置配置文件
在redis根目录下有个叫redis.conf的配置文件,放在上面建立的/etc/redis文件夹下,命名为端口号.conf,如6379.conf。修改相应的配置:
| 参数 | 值 | 说明 |
| daemonize | yes | 使redis以守护进程模式运行 |
| pidfile | /var/run/redis_端口号.pid | 设置redis的PID文件位置 |
| port | 端口号 | 设置redis要监听的端口号 |
| dir | /var/redis/端口号 | 设置持久化文件存放位置 |
| logfile | /var/log/redis.log | 设置配置文件位置 |
4、修改初始化脚本redis_init_script
修改后的文件如下:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# 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
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/6379.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
5、将redis的初始化脚本加入linux的启动项中
$sudo update-rc.d redis_端口号 defaults
6、经过上述步骤后,可重启计算机,通过redis-cli看看是否有自动启动redis,如果不行,可以通过指令redis-server /etc/redis/端口号.conf启动redis,通过这串指令可以让redis按照配置文件载入配置,redis启动失败,可能是配置文件中的配置找不到相应的文件夹或者文件造成的,根据终端返回的错误信息解决即可。
redis如何随系统启动的更多相关文章
- aws上redhat安装redis服务记
1.准备 官网下载
- CentOS搭建Apache+php+MySQL+Redis环境
要搭建一个本地linux服务器环境,按照网络教程依葫芦画瓢,噼里啪啦搭好后,发现redis服务怎么也弄不好,不喜欢那种明知有问题却无从下手又无能为力的感觉,碰了无数次壁以后,我决定卸载,重头来过,并尽 ...
- Centos7 安装 Redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...
- Centos7安装Redis 3.2.8
关闭防火墙和SELinx 关闭防火墙 [root@node1 ~]# systemctl stop firewalld 开启防火墙 [root@node1 ~]# systemctl enable f ...
- NoSQL -- Redis使用
NoSQl简介: ubuntun CTRL+alt+F1 图形切换到命令行 CTRL+alt+F7 命令行切换到图形界面 redis介绍 + 实践 Redis是什么? Redis 安装 edis是当 ...
- CentOS 7安装配置Redis数据库
Redis源码获取 1.进入Redis官网获取Redis最新稳定版下载地址 2.通过wget命令下载 Redis 源代码. Redis编译 1.通过tar -xvf redis-3.0.2.tar ...
- centos7上安装redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...
- CentO7 安装 redis, 主从配置,Sentinel集群故障转移切换
一.Redis的安装(前提是已经安装了EPEL) 安装redis: yum -y install redis 启动/停止/重启 Redis 启动服务: systemctl start re ...
- centos7配置安装redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...
随机推荐
- tensorflow学习笔记
常量的四则运算 import tensorflow as tf data1 = tf.constant(2) data2 = tf.constant(10) dataAdd=tf.add(data1, ...
- 深入理解ASP.NET MVC(8)
系列目录 过滤器上下文参数 前一节提到了四种MVC内建过滤器,它们无一例外都在关键的方法中提供了叫filterContext的参数,尽管它们各自类型不同,但是都继承自ControllerContext ...
- enc28J60 网页控制LED灯
软件IDE:Arduino 1.6.3 1.库的安装: 从https://github.com/jcw/ethercard 下载源码包,解压,复制ethercard-master文件夹到Arduino ...
- 【java】JDK与JRE的区别
JRE和JDK区别: JDK和JRE提供的服务包: JDK是整个JAVA的核心,JDK包含如下核心组件: ·javac – 编译器 ·jar – 打包工具 ·javadoc – 文档生成器 ·jdb ...
- mysql官方测试 DB
https://dev.mysql.com/doc/employee/en/ http://blog.51cto.com/dnsliu/ http://blog.csdn.net/zengxuewen ...
- 写了一个RenderInBackground的脚本
某主管希望write节点有多线程渲染的功能,而nuke中的render in background功能恰恰可以多个渲染任务同时执行,于是我考虑使用这个方法来实现. 调 试过程中发现renderinba ...
- Linux系统构成和基本操作
Linux的优势 Linux的目录结构 Linux目录与文件管理 列出目录内容 创建新目录(文件夹) 创建文件 复制文件或目录 删除文件或目录 移动目录或文件 查看文件属性 文件属性含义 读权限-4 ...
- GetPostBackEventReference加RaisePostBackEvent实现自定义控件中回调传参
; //回调函数,回调参数值:eventArgument public void RaisePostBackEvent(string eventArgument) { ...
- LeetCode——9. Palindrome Number
一.题目链接:https://leetcode.com/problems/palindrome-number/ 二.题目大意: 给定一个整数,判断它是否为一个回文数.(例如-12,它就不是一个回文数: ...
- C语言中的补码与反码(-1的十六进制ffffffff)
我们先举个例子 1个字节的数字7用二进制表示为 0000 0111,最高位为0(0为正数,1为负数) 反码是将正数的所有位都取反,包括最高位 而负数的二进制表示为补码(反码加1),反码只是过渡阶段 ...