linux(阿里云服务器)配置redis的正确流程(并且实现redis-cli在任意目录下执行)

1.准备工作


#进入local文件夹
[root@Panghl /]# cd /usr/local/
#创建redis5 文件夹
[root@Panghl local]# mkdir redis5
#进入redis5文件夹
[root@Panghl local]# cd redis5

2.将redis安装包【是个后缀 .tar.gz的压缩包】放于redis文件夹里


可以通过指令下载 :

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


或者可以去redis中文网下载 redis中文网链接
然后通过工具传到redis文件夹里。

3.解压

下载安装包完成后可看到 xxx.tar.gz的压缩包。

#解压缩
tar -zxvf redis-5.0.4.tar.gz
#顺手删掉压缩包
rm -f redis-5.0.4.tar.gz

4.编译安装

(1)

#解压好后,进入 redis-5.0.4 文件夹

[root@Panghl redis5]cd redis-5.0.4/
#运行指令
[root@Panghl redis-5.0.4]# make

编译安装文件 ,可能需要等一会,没那么快 。

然后继续进入src文件夹

执行 make test 你会发现报错,缺少tcl

(2)

指令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

直接下载 tcl 

指令 sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/

以管理员身份解压到指定位置 ,这里是解压到 /usr/local/ ,会新建一个叫 tcl8.6.1 的文件夹

指令 cd  /usr/local/tcl8.6.1/unix/

进入 unix文件夹 ,

指令 sudo ./configure

以管理员身份执行./configure

指令sudo make

以管理员身份编译

指令  sudo make install

以管理员身份安装,

//

指令 /usr/local/redis/redis-5.0.8/src

再次进入src文件夹,

指令 make test

再次测试安装,当出现报错

  "test_client_main $::test_server-port"

  make: *** [test]  Error  1

 说明可以安装redis了,但是因为redis不需要安装,已经是个解压且编译好的文件,这不需要再安装,可直接使用

5.查看端口是否被占用

ps -ef | grep redis 

如果有进程使用6379 直接执行指令: kill -9  进程id     #强制关闭 进程数为...的进程

6.修改redis.conf 配置文件 ,开启允许redis以服务的方式运行在后端 

##进入redis.conf 
[root@Panghl src]# vi /usr/local/redis5/redis-5.0.4/redis.conf

将daemonize 属性修改为 yes , 并且保存并退出(按esc后,按符号 ;+shift,然后输入 wq 再按回车即可保存并退出)    也可shift+zz 

7.启动 redis

第一次启动成功后,会出现三个警告!接下来我们来干掉它!

从上到下三个错误的原因是

(1)tcp设置的值太小了,需要修改更大的才行

(2)overcommit_memory参数设置为0!在内存不足的情况下,后台程序save可能失败,需要设为1

(3)使用透明大页THP,可能导致redis延迟和内存使用问题,需要关闭

具体解决操作:

(1)解决 警告1 和 2需要修改rc.local文件

指令 vi  /etc/rc.local

修改 rc.local文件   保存并退出

(2)解决 警告3 需要 修改rc.local文件 

指令 vi /etc/rc.local

添加内容

echo never > /sys/kernel/mm/transparent_hugepage/enabled

重启linux服务器  reboot

先进入src文件夹: cd /usr/local/redis5/redis-5.0.8/src

然后启动指令使用 ./redis-server /usr/local/redis/redis-5.0.8/redis.conf 

加上配置文件,将会以服务的方式后端运行,那么 按ctrl+c键不会关闭redis 

 

8.启动redis客户端

执行指令:./redis-cli

此时就可使用redis了。

9.设置系统开机自动启动。

(1)创建一个文件并进入  : vi /etc/init.d/redis

  (2)编写脚本,路径根据实际情况写!


#!/bin/sh
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379                          
#端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
REDISPATH=/usr/local/redis5/redis-5.0.4
#redis-server启动脚本的所在目录,你如果忘了可以用find / -name redis-server 或whereis redis-server找到
EXEC=${REDISPATH}/src/redis-server
CLIEXEC=${REDISPATH}/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid  
#在redis.conf中可找到该路径
CONF="${REDISPATH}/redis.conf"           
#redis.conf的位置, 如果不和redis-server在同一目录要修改成你的redis.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)设置启动权限

指令 chmod 777 /etc/init.d/redis

(4)现在试一下能不能启动

先检查是否有进程占用端口 6379

指令 ps -ef | grep redis

如果有以指令 kill -9 [进程数]  来关闭

指令cd  /var/run 

进入装有进程目录的文件夹run ,查看是否有文件 redis_6379.pid ,有则需要删除 

删除指令  rm -f /var/run/redis_6379.pid

[当进程停止时对应的.pid文件会删除,开启时则会创建 ,但是有时候强制停止进程,会遗留 pid文件没有删除,因此需要手动删除]

指令/etc/init.d/redis start

启动redis服务

连接redis客户端(命令连接,可视化工具连接)

(1)指令 redis-cli 或redis-cli --raw(想要在任何目录输入redis-cli连接redis客户端需要做如下配置)

修改profile文件:

#vi /etc/profile

在最后行添加:

export PATH=$PATH:/usr/local/redis5/redis5.0.4/src

若有多个PATH配置,只需要用 : 隔开    src是redis-cli所在目录

然后马上应用这个文件:

source /etc/profile

这样就可以直接在任意目录下调用redis-cli命令了,如图所示:

(2)可用可视化工具测试连接redis:新建一个连接

注意:连接阿里云服务器的redis 需要将6379的端口开放,添加安全组规则!

指令 /etc/init.d/redis stop

关闭redis

                                                                                                                                                                     


                                                                                            大功告成!

猜你喜欢

转载自blog.csdn.net/qq_45441466/article/details/109674851
今日推荐