dtcms 模板下载 新闻api linux HTTP请求 list cakephp bluetooth Material UI Movejs vue优势 bootstrap后台管理系统 河南普通话 sketch up教程 angular视频教程 oracle修改字段默认值 idea返回值快捷键 oracle取第一条数据 新手学c还是java android自定义控件 python数据类型转换 python安装教程 python中的if语句 python调用自定义函数 java集合 java编译环境 java读取文件内容 变量的类型 java创建对象 linux系统命令大全 行业软件下载 gtx1030 kms神龙版 手机照片恢复免费软件 联想小新键盘灯怎么开 看图软件cad 怎么看淘龄 fastcgi 语音转文字转换器 ass转srt 画图橡皮擦怎么放大
当前位置: 首页 > 学习教程  > 编程语言

【缓存技术运维--Redis】Ubuntu 系统中 Redis 环境搭建与自启动设置

2020/12/28 19:06:20 文章标签:

【缓存技术运维--Redis】Ubuntu 系统中 Redis 环境搭建与自启动设置 【1】Ubuntu 安装配置 Redis 下载 Redis 安装包 wget http://download.redis.io/releases/redis-5.0.10.tar.gz解压 sudo tar xzf redis-5.0.10.tar.gz复制 推荐放到 usr/local 目录下 sudo cp redis-5.0.1…

【缓存技术运维--Redis】Ubuntu 系统中 Redis 环境搭建与自启动设置

【1】Ubuntu 安装配置 Redis

下载 Redis 安装包
wget http://download.redis.io/releases/redis-5.0.10.tar.gz

解压
sudo tar xzf redis-5.0.10.tar.gz

复制
推荐放到 usr/local 目录下
sudo cp redis-5.0.10 /usr/local/redis-5.0.10

进入 redis 目录
cd /usr/local/redis-5.0.10/

编译
sudo make; 失败则使用 sudo make MALLOC=libc 后再 sudo make

测试
sudo make test

安装 
将 redis 的命令安装到 /usr/bin/ 目录
sudo make install

运行
redis-server
按 ctrl + c 停止

【2】Ubuntu 配置 Redis 自启动

在 Redis 安装路径之下,确定 utils 目录,其中存在 redis_init_script 文件,将其作为自启动配置文件;
将 redis_init_script 文件重新命名为 redisd,作为系统启动服务名;
修改 redisd 文件,注意要在文件头部加上两句注释来设定该服务的运行级别;

#!/bin/sh
# chkconfig:   2345 90 10

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
 
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

其中,6379 是 redis 端口号;CONF 是 redis 配置文件;EXEC、CLIEXEC 是服务所在路径,在 make install 时,已经放入默认路径 /usr/local/bin 中;

将 redisd 文件拷贝到 /etc/init.d 目录下
sudo chmod +x /etc/init.d/redisd
sudo update-rc.d redisd defaults
注意,这两处的 redisd 为修改的自启动配置文件名

注,最终 redisd 文件的内容如下

#! /bin/sh
# chkconfig: 2345 90 10

# 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
# 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

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/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

【3】Ubuntu 中 Redis 的配置

将文件 redis.conf 复制到 /etc/redis 目录,并改名为 “6379.conf”,然后修改此文件内容

设置 daemonize 为 yes,使服务可以后台运行
daemonize yes

设置 log 文件路径
logfile /var/log/redis/redis-server.log

设置持久化文件存放路径
dir /var/lib/redis

Redis 开启远程登录连接
bind 127.0.0.1 改成 bind 0.0.0.0

修改默认密码
查找 requirepass foobared 将 foobared 修改为你的密码

【4】Redis Server 及 Client 启动命令

启动 Redis 服务
service redisd start

关闭 Redis 服务
service redisd stop

客户端连接
redis-cli -h 开放 redis 的服务器的 IP -p 开放 redis 的服务器的端口
auth redis 的密码

常见问题与解决方案

问题一,insserv: Script <name> is broken: incomplete LSB comment.

insserv: Script <name> is broken: incomplete LSB comment.

insserv: missing `Required-Start:' entry: please add even if empty.
insserv: missing `Required-Stop:' entry: please add even if empty.
insserv: missing `Default-Start:' entry: please add even if empty.
insserv: missing `Default-Stop:' entry: please add even if empty.

解决方案

/etc/init.d/ 目录下有 <name> 脚本缺少如下格式

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

参考致谢
本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。

【1】Ubuntu安装Redis及使用

【2】Ubuntu安装Redis并设置为开机自启动服务

【3】Ubuntu16.04 Redis的安装及设置redis开机启动

【4】insserv: Script <name> is broken: incomplete LSB comment.


本文链接: http://www.dtmao.cc/news_show_550155.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?