Redis的强大就不多说了,直接上菜。

第1步:下载、编译、安装

cd /opt
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar zxvf redis-3.0..tar.gz
cd redis-3.0.5
make && make install

第2步:配置,修改默认端口为7963、数据目录、日志目录、后台运行方式等

mkdir /etc/redis
mkdir /var/log/redis
mkdir -p /data/redis
cd /opt/redis-3.0.
cp redis.conf /etc/redis/.conf
vi /etc/redis/.conf
--------------------
daemonize no
port
logfile ""
pidfile /var/run/redis.pid
# requirepass foobared
dir ./
改成
daemonize yes
port
logfile "/var/log/redis/7963.log"
pidfile /var/run/redis_7963.pid
requirepass 9k3NgZq%gO!W7x-0y=LI
dir /data/redis
--------------------

通过sed快速修改配置文件命令如下:

sed -i "s/daemonize no/daemonize yes/g" /etc/redis/.conf
sed -i "s/port 6379/port 7963/g" /etc/redis/.conf
sed -i "s/pidfile \/var\/run\/redis.pid/pidfile \/var\/run\/redis_7963.pid/g" /etc/redis/7963.conf
sed -i "s/logfile \"\"/logfile \"\/var\/log\/redis\/7963.log\"/g" /etc/redis/.conf
sed -i "s/# requirepass foobared/requirepass 9k3NgZq%gO!W7x-0y=LI/g" /etc/redis/.conf
sed -i "s/dir .\//dir \/data\/redis/g" /etc/redis/.conf

第3步:修改系统内存策略,保证数据完整性

# 设置内存策略
grep vm.overcommit_memory /etc/sysctl.conf
# 如果没有输出,就新增一行
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
# 如果有输出,就修改
sed -i "s/vm.overcommit_memory = 0/vm.overcommit_memory = 1/g" /etc/sysctl.conf
# 让配置生效
sysctl -p

第4步:配置启动脚本

cd /opt/redis-3.0.
cp utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis
-----------------------------------
# 第二行插入以下2行
# chkconfig:
# description: Simple Redis init.d scrip
# 修改默认端口
REDISPORT=
# 改成
REDISPORT=
# 如果设置了Redis密码,则需要进行以下修改才能正常通过stop命令停止Redis服务
# 在CONF="/etc/redis/${REDISPORT}.conf"下面添加一行自动解析配置文件中的密码
PASS=`grep "requirepass " $CONF | awk {print'$2'}`
# 然后关闭指令根据密码是否为空判断是否需要添加密码参数
$CLIEXEC -p $REDISPORT shutdown
# 改成
if [ -z "$PASS" ]
then
$CLIEXEC -p $REDISPORT shutdown
else
$CLIEXEC -p $REDISPORT -a $PASS shutdown
fi
-----------------------------------

通过sed快速修改启动脚本命令如下:

sed -i "1 a # chkconfig:   2345 90 10" /etc/init.d/redis
sed -i "2 a # description: Simple Redis init.d scrip" /etc/init.d/redis
sed -i "s/REDISPORT=6379/REDISPORT=7963/g" /etc/init.d/redis
# 设置了密码则修改,不设置密码不用修改
sed -i $'13 a PASS=`grep "requirepass " $CONF | awk {print\'$2\'}`' /etc/init.d/redis
sed -i "s/PORT shutdown/PORT -a \$PASS shutdown/g" /etc/init.d/redis

第5步:添加启动项,并启动

#设置为开机自启动Redis
chkconfig redis on
#验证启动项是否设置成功
chkconfig --list redis
#启动Redis服务
service redis start
#关闭Redis服务
service redis stop

Redis默认端口,默认空密码存在严重的安全性问题,所以上面安装过程修改了默认端口也添加了密码管控。

详解Redis数据库配置不当遭恶意入侵过程

参考资料:

Redis的三种启动方式

Redis 3 在CentOS 6.5上安装笔记,含启动脚本的更多相关文章

  1. 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb

    记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...

  2. 在CentOS或RHEL上安装Nux Dextop仓库

    介绍 Nux Dextop是类似CentOS.RHEL.ScientificLinux的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop对CentOS/RHEL ...

  3. CentOS 6.5上安装MySQL-Cluster

    参考博文: CentOS 6.2下MySQL Cluster 7.2 配置数据库集群 CentOS 6.5上安装MySQL-Cluster 7.3.4过程笔记--下一步学习 MySQL Cluster ...

  4. CentOS 6.9上安装mysql-5.6.36

    CentOS 6.9上安装mysql-5.6.36 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/da ...

  5. [转]在Linux CentOS 6.6上安装Python 2.7.9

    在Linux CentOS 6.6上安装Python 2.7.9 查看python安装版本 python -V yum中最新的也是Python 2.6.6,所以只能下载Python 2.7.9的源代码 ...

  6. 在 CentOS 7.2 上安装 ODOO 10 (2018-10-09 持续更新)

    在 CentOS 7.2 上安装 ODOO 10 更新系统 yum update 安装 EPEL 源 1 yum install -y epel-release 安装依赖组件 yum install ...

  7. CentOS 6.9上安装mysql-5.6.37

    CentOS 6.9上安装mysql-5.6.37 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/da ...

  8. CentOS 6.9上安装Mysql 5.7.18 安装

    CentOS 6.9上安装Mysql 5.7.18 安装 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-g ...

  9. 在 CentOS 6.4上安装Erlang

    如何在CentOS 6.4上安装erlang,具体的Erlang版本是R15B03-1. 在安装之前,需要先要安装一些其他的软件,否则在安装中间会出现一些由于没有其依赖的软件模块而失败. 一开始,要是 ...

随机推荐

  1. Pressed状态和clickable,duplicateParentState的关系

    做Android开发的人都用过Selector,可以方便的实现View在不同状态下的背景.不过,相信大部分开发者遇到过和我一样的问题,本文会从源码角度,解释这些问题. 首先,这里简单描述一下,我遇到的 ...

  2. Coherence装载数据的研究 - Invocation Service

    这里验证第三个方法,原理是将需要装载的数据分载在所有的存储节点上,不同的地方是利用了存储节点提供的InvocationService进行装载,而不是PreloadRequest, 原理如图 前提条件是 ...

  3. 13:在O(1)时间删除单链表节点

    题目:给定单项链表的头指针和一个节点指针.定义一个函数在O(1)时间删除该节点. 解析: 删除单向链表中的一个节点,常规做法是必须找到待删除节点的前一个节点才干实现.而这样做的时间复杂度是O(n).无 ...

  4. Netty源码细节-accept、read(Linux os层 + Netty层代码细节)(转)

    原文:http://budairenqin.iteye.com/blog/2215899 这篇分析一下accept的细节, 我觉得网络IO相关开发很多时候不能仅仅局限于java层, 尤其从accept ...

  5. Android开发之JNI(一)--HelloWorld及遇到的错误解析

    Android开发之JNI(一)--HelloWorld及遇到的错误解析 1.NDK环境搭建    參考http://blog.csdn.net/xiaoliouc/article/details/8 ...

  6. Android调试方法总结

    Android程序调试过程中,通常需要在控制台或者AVD中弹出相关信息作为调试使用,以下是调试使用中会用到的Log类和Toast类的使用方法: 1.Toast Toast是在AVD上显示信息的一种机制 ...

  7. servlet--百度百科

    Servlet(Server Applet),全称Java Servlet, 未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servle ...

  8. Velocity中文乱码问题解决方法

    http://yonge812.iteye.com/blog/1010290 Velocity中文乱码问题需要注意一下几点: 1.eclipse默认编码方式 2.页面的编码方式 3.volocity模 ...

  9. FD_SET 详解

    http://blog.csdn.net/stephen_yin/article/details/7441165

  10. mysql调用存储过程出现Illegal mix of collations错误

    执行sql语句正常 执行存储过程 异常 提示 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMP ...