linux学习之路(二)--centos7安装Redis(单点)

一、安装redis

1、进入/usr/local/,新建services目录,进入该目录,下载redis

wget http://download.redis.io/releases/redis-4.0.2.tar.gz

如果没有wget命令,执行 

yum -y install wget

进行安装。

2、解压下载好的tar包

tar -xzvf redis-4.0.2.tar.gz

3、编译安装Redis

切换至程序目录:

cd redis-4.0.2

并执行make命令编译:

make

这里可能会报 cc 命令找不到,需要安装gcc:

yum -y install gcc automake autoconf libtool make

再次执行make命令,会报错,需要把文件删掉,重新解压,再运行make命令

make命令成功后,执行安装命令

make install

至此,安装完成。

 二、配置redis

1、把redis配置为开机启动,类似于windows的服务,开机启动。

centos下配置随机启动需要在目录/etc/init.d中添加启动脚本,启动脚本的模板在redis源代码目录的utils文件夹中:redis_init_script

我们把这个文件复制到/etc/init.d文件夹中,并重命名为redis_6379, 我们这个服务名也就为redis_6379了,再来看下这个文件的内容:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
# as it does use of the /proc filesystem.
 
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

注意:

第四行和第五行,是我们后加入的。

$EXEC $CONF 代码中变量赋值,exec为redis-server命令路径,conf为配置文件,配置文件为/etc/redis/6379.conf,这个文件还没有,我们下面来配置它:看到里面的start stop命令,应该就非常熟悉了。

 

2、创建目录/etc/redis。 配置文件的模板还在在redis源码中找:redis-4.0.2/redis.conf,将这个配置文件复制到/etc/redis目录 ,并重命名为6379.conf。

打开这个文件并修改:

这里贴出关键修改代码:

# 注释掉它,以便让外网访问
# bind 127.0.0.1
 
# 关闭保护模式
protected-mode no
 
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid
daemonize yes
 
 
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_6379.pid
 
# 指定Redis监听端口,默认端口为6379
# 如果指定0端口,表示Redis不监听TCP连接
port 6379
 
 
# 工作目录.
# 指定本地数据库存放目录,文件名由上一个dbfilename配置项指定
#
# Also the Append Only File will be created inside this directory.
#
# 注意,这里只能指定一个目录,不能指定文件名
dir /var/redis/6379

最后一行 /var/redis/6379 这个目录还没有,需要我们创建,用于存放redis的持久化文件。

 

然后执行命令:

#设置开机执行redis脚本
chkconfig redis_6379 on

通过上面的操作后,我们就可以通过 如下命令启动,停止redis了

service redis_6379 start
service redis_6379 stop

 3、开放6379端口

(1)查看对外开放的端口状态 查询已开放的端口

 netstat -anp

查询指定端口是否已开

firewall-cmd --query-port=6379/tcp

提示 yes,表示开启;no表示未开启

(2)查看防火墙状态

查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service

(3)添加指定需要开放的端口:

firewall-cmd --add-port=123/tcp --permanent

 重载入添加的端口:

 firewall-cmd --reload

 移除指定端口:

 firewall-cmd --permanent --remove-port=123/tcp

 

posted @ 2019-06-25 10:42  肖冬  阅读(338)  评论(0编辑  收藏  举报