1.前言

我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案。

2.操作【跟着步骤来】

(1)指令cd /usr/local

进入local文件夹里面 ,

指令 mkdir redis

新建一个叫redis的文件夹,

指令cd redis

进入redis文件夹,

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

可以使用下载网址直接下载

指令是  wget http://xxxx.xxx/xxx/sss.tar.gz

具体网址自己去官网查,将默认下载到当前文件夹内

或者直接拷贝压缩包进去

【我的是在window10 使用xftp 软件传输 压缩包到 远程 Linux 的 ,xftp具体操作在我其他随笔有详细记载】

(3)解压安装包[假设 包名 redis-5.0.8.tar.gz ]

指令 tar -zxvf  redis-5.0.8.tar.gz

解压当前文件夹内的 名叫 redis-5.0.8.tar.gz 的压缩包

会自动在当前文件夹新建一个名为redis-5.0.8的文件夹  ,解压文件放在里面

(4)

指令 cd redis-5.0.8

继续进入该文件夹 ,

指令 make

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

指令 cd src

继续进入 src文件夹,

输入指令pwd 可查看当前位置路径,我当前在 /usr/local/redis/redis-5.0.8/src  ,

指令 make test

测试是否可以安装,这个可能要等几分钟,第一次装会提示

  You need tcl 8.5 or newer in order to run the Redis test

  makeL:***[test] Error 1

因为 缺少TCL(Tool Command Language)工具脚本语言 ,需要安装

指令 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

写着 grep  -- color=auto redis 是查询接口进程本身 ,不需要理会,将指令改成 ps -ef | grep r[e]dis  即可忽略显示 【只要在redis这个字符串加上[x] 即可 ,x表示redis字符串的一个字母 】

如果有进程使用 6379端口

指令  kill -9 967

强制关闭 进程数为 967 的进程

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

指令 vi /usr/local/redis/redis-5.0.8/redis.conf

直接进入编辑配置文件页面

按字符 i ,进入编辑模式

找到 daemonize 属性 设为yes

按esc后 ,按符号 : 然后输入 wq 再按回车即可保存并退出

(7)启动 redis

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

进入src文件夹,

指令 ./redis-server  /usr/local/redis/redis-5.0.8/redis.conf

启动redis ,第一次启动需要 加入配置文件,之后可以不加 ,直接redis-server或 ./redis-server 启动 但是这需要当前在 /usr/local/redis/redis-5.0.8/src文件夹里面

也可以输入 vi /usr/local/redis/redis-5.0.8/src/redis-server 启动

出现图案

说明启动成功

但是第一次搭建redis会报3个错

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

(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

添加内容

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

修改完后保存退出

然后重启linux系统后即可使用

重启指令 reboot

//

再次启动redis

没有再报错了,

如果启动指令使用 ./redis-server /usr/local/redis/redis-5.0.8/redis.conf

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

(8)关闭redis服务

指令redis-cli shutdown

3.启动redis客户端

指令redis-cli --raw

指令exit

退出

4.设置系统开机自动启动

(1)

指令  vi /etc/init.d/redis

创建一个文件并进入

(2)编写脚本,路径根据实际情况写,只需要修改红色部分

  1. #!/bin/sh
  2. #chkconfig: 2345 80 90
  3. # Simple Redis init.d script conceived to work on Linux systems
  4. # as it does use of the /proc filesystem.
  5. REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
  6. REDISPATH=/usr/local/redis/redis-5.0.8/
  7. #redis-server启动脚本的所在目录,你如果忘了可以用find / -name redis-server 或whereis redis-server找到
  8. EXEC=${REDISPATH}/src/redis-server
  9. CLIEXEC=${REDISPATH}/src/redis-cli
  10. PIDFILE=/var/run/redis_${REDISPORT}.pid #在redis.conf中可找到该路径
  11. CONF="${REDISPATH}/redis.conf" #redis.conf的位置, 如果不和redis-server在同一目录要修改成你的redis.conf所在目录
  12. case "$1" in
  13. start)
  14. if [ -f $PIDFILE ]
  15. then
  16. echo "$PIDFILE exists, process is already running or crashed"
  17. else
  18. echo "Starting Redis server..."
  19. $EXEC $CONF
  20. fi
  21. ;;
  22. stop)
  23. if [ ! -f $PIDFILE ]
  24. then
  25. echo "$PIDFILE does not exist, process is not running"
  26. else
  27. PID=$(cat $PIDFILE)
  28. echo "Stopping ..."
  29. $CLIEXEC -p $REDISPORT shutdown
  30. while [ -x /proc/${PID} ]
  31. do
  32. echo "Waiting for Redis to shutdown ..."
  33. sleep 1
  34. done
  35. echo "Redis stopped"
  36. fi
  37. ;;
  38. *)
  39. echo "Please use start or stop as first argument"
  40. ;;
  41. 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

指令 /etc/init.d/redis stop

关闭redis

指令 redis-cli 或redis-cli --raw

连接redis客户端

[这样做的优势是可以在任意的当前目录位置运行redis指令]

(5)开机启动

如果当前Linux系统是 Ubuntu 的

则使用指令

  1. //安装 sysv-rc-conf
    apt-get update
  2. apt-get install sysv-rc-conf
    //设置自启动
  3. sysv-rc-conf redis on

其他Linux系统使用

  1. //设置自启动
    chkconfig redis on

设置完后,

指令 reboot

重启操作系统等一会再连接查看即可

启动后指令查看进程

ps -ef | grep red[i]s

    成功 ,撒花!!!

----------------------------

参看博文原址:

https://www.cnblogs.com/wumz/p/10236694.html

https://blog.csdn.net/philosophyatmath/article/details/88863136

https://blog.csdn.net/yup1212/article/details/82152106

https://blog.csdn.net/chen_jia_hao/article/details/83865551

https://www.cnblogs.com/s-p-l/p/10633488.html

https://blog.csdn.net/xiaomudouer/article/details/88847894

https://www.cnblogs.com/john-xiong/p/12098827.html

https://blog.csdn.net/weixin_33446857/article/details/80842037

https://www.cnblogs.com/byx1024/p/12228735.html

https://blog.csdn.net/u011712163/article/details/90903396

https://www.cnblogs.com/beautiful-code/p/9441954.html

https://blog.csdn.net/ztf312/article/details/83025297

https://www.jianshu.com/p/a73e0565e2a1

linux 【阿里云服务器】 配置 redis 的正确流程的更多相关文章

  1. linux阿里云服务器更换镜像的方法

    linux阿里云服务器更换镜像的方法 1 先进入硬盘创建快照 生成自定义镜像 ps:他可以在阿里云各个服务器上共享 再左侧镜像 点击去可以看到共享 直接进ecs 关闭服务器 重新初始化硬盘 然后主界面 ...

  2. 配置远程访问阿里云服务器的Redis

    1.默认情况Redis不是在后台运行,我们需要修改把redis放在后台运行:daemonize yes 2.Redis安全策略默认本机访问,所以远程访问的话需要将 bind 127.0.0.1加#注释 ...

  3. 阿里云服务器 配置 tomcat 发布spring boot项目 的具体操作 【使用公网ip】

    1.前言 spring boot 转成war包 后用tomcat发布的具体操作在我另一篇随笔有详细记载,不论是window系统还是Linux系统,tomcat的发布配置都是一样的,所以这里不具体讲这个 ...

  4. 解决远程连接阿里云服务器的Redis失败问题

    参考网址: https://www.pianshen.com/article/91461328818/ https://blog.csdn.net/weixin_42518709/article/de ...

  5. 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用

    (原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...

  6. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  7. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  8. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  9. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

随机推荐

  1. java异常处理中throws和throw的使用

    异常介绍: 运行时异常.非运行时异常 在编写可能会抛出异常的方法时,它们都必须声明为有异常. 一.throws关键字 1.声明方法可能抛出的异常: 2.写在方法名后面: 3.可声明抛出多个异常,异常名 ...

  2. 走进Spring Boot源码学习之路和浅谈入门

    Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...

  3. 索引以及Mysql中的索引

    一.什么是索引 索引是表的目录,会保存在额外的文件中,针对表中的指定列建立,专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取 ...

  4. Jenkins远程发布制品

    目录 一.简介 二.实现 一.简介 WEB服务很少会与Jenkins服务器在同一台机器,所以需要将构建好的制品包,发放到远程服务器进行部署. 二.实现 插件名:Publish over SSH 作用: ...

  5. Sentry 开发者贡献指南 - 后端服务(Python/Go/Rust/NodeJS)

    内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...

  6. [BUUCTF]REVERSE——[HDCTF2019]Maze

    [HDCTF2019]Maze 附件 步骤: 例行检查,32位程序,upx壳 upx脱壳儿后扔进32位ida,首先检索程序里的字符串 有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行 ...

  7. [BUUCTF]PWN17——[HarekazeCTF2019]baby_rop

    [BUUCTF]PWN17--[HarekazeCTF2019]baby_rop 附件 步骤: 例行检查,64位,开启了NX保护 试运行一下程序,看这个情况,当我们输入太长字符串的时候会报错 64位i ...

  8. 资源分配(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 资源设置好以后,不能光摆着看,分配到各任务中去才是正道. 分配资源就需要回到与任务相关的视图了,比如[任务工作表]视图或者 ...

  9. C51单片机中断实验

    实验要求: 要求通过中断方式检测有无按键 判断哪个按键(编号0-9),并且在数码管上显示对应的0-9 代码部分 #include<reg51.h> char led_mod[]={0x3f ...

  10. java 图形化小工具Abstract Window Toolit ;布局管理器FlowLayout流式布局;BorderLayout边界布局;GridLayout网格布局;CardLayou重叠卡片布局;BoxLayout方框布局;绝对定位

    1.FlowLayout流式布局管理器: FlowLayout布局管理器中,组件像水流一样向某方向流动(排列),遇到障碍(边界)就折回,重头开始排列 .在默认情况下,FlowLayout局管理器从左向 ...