redis linux配置,linux redis 安装及基本配置

每次 linux redis安装,都要百度,索性将 linux redis 源码安装及配置记下,含 redis 开机启动、service redis start/stop/restart 配置和简单 auth 配置

2、下载最新版的 redis 到服务器

wget http://download.redis.io/releases/redis-4.0.6.tar.gz|tar xz

3、编译安装

cd redis-4.0.6/

make

cd src

make install PREFIX=/usr/local/redis

redis 安装后的路径

/usr/local/redis/

4、将源码中的 redis.conf 复制到 redis 安装路径(或者 /etc/下)

cd /usr/local/redis/

mkdir etc

cp 下载redis源码的路径/redis-4.0.6/redis.conf /usr/local/redis/etc/

5、编写 service 启动文件

vi /etc/init.d/redis

将下面代码写入文件,修改文件中相应的路径和配置

# chkconfig: 2345 10 90

# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

#端口根据自己 redis 需求配置

REDISPORT=6379

#server 路径根据自己 redis 实际路径配置

EXEC=/usr/local/redis/bin/redis-server

#cli 路径根据自己 redis 实际路径配置

REDIS_CLI=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

#redis.conf 路径根据自己 redis 实际路径配置

CONF="/usr/local/redis/etc/redis.conf"

#如果redis配置了requirepass,auth 为 redis.conf 中配置的 requirepass

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

6、给启动文件设置权限和用户组

chmod +x /etc/init.d/redis

chown root:root /etc/init.d/redis

7、默认情况,redis不是在后台运行,需要将 redis 放在后台运行

vi /usr/local/redis/etc/redis.conf

将daemonize的值改为yes

8、将 redis 设置为远程可访问

假设 redis 服务器 ip地址 为 10.29.8.10,端口为 6379

如果按照 redis.conf 默认配置,只有本地才能访问 redis (/usr/local/redis/bin/redis-cli 、/usr/local/redis/bin/redis-cli -h 127.0.0.1),而远程客户端(10.29.8.20) 访问 redis (/usr/local/redis/bin/redis-cli -h 10.29.8.10) redis服务会拒绝访问

如果想配置 redis 远程可访问,有 bind ip 、protected-mode 和 requirepass 参数来控制

(1)修改 bind ip,这里的 ip,不是客户端的ip地址,而是 redis 服务端的ip地址,也就是说是网络接口。服务器可以有一个或多个的网络接口(通俗的说网卡)。比如机器上有两个网卡,分别为 10.29.8.10 和 10.29.8.11,如果bind 10.29.8.10,那么只有该网卡地址接受外部请求,如果不绑定,则两个网卡口都接受请求。

所以可以把 bind 参数改为 bind 127.0.0.1 10.29.8.10,这样,远程客户端(10.29.8.20) 可以通过 /usr/local/redis/bin/redis-cli -h 10.29.8.10 来访问 redis

(2)如果 protected-mode 设置为 yes,去掉 requirepass 前的 # 号(取消注释),并为 requirepass 设置一个 auth 密码(比如 requirepass 123456) 那么连上 redis 后,如果输入查询命令 keys * 就会报错:(error) NOAUTH Authentication required. 需要输入 auth 123456 才可以继续使用查询命令

(3)如果 protected-mode 设置为 yes,requirepass 前边有#号的话(被注释掉),直接使用 redis 查询命令,redis 会提示,需要设置 requirepass,才可以用

9、启动 redis

service redis start

10、设置redis 开机启动

chkconfig redis on

11、已经启动的 redis 服务器通过命令行设置密码,可以使用 config set 属性 值 来更改配置

比如设置 auth

config set requirepass yourPassword

这种方式是临时的,当服务器重启了密码必须重设,但在设置完以后,输入

config rewrite

命令,可以将config set持久化到Redis配置文件中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值