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. IP地址后面斜杠加具体数字详解

    其实这种形式就是用CIDR(无类别域间路由选择,Classless and Subnet Address Extensions and Supernetting))的形式表示的一个网段,或者说子网. ...

  2. 深入理解Hadoop集群和网络【转】

    http://os.51cto.com/art/201211/364374.htm 本文将着重于讨论Hadoop集群的体系结构和方法,及它如何与网络和服务器基础设施的关系.最开始我们先学习一下Hado ...

  3. ACboy needs your help-分组背包模板题

    id=17676" target="_blank" style="color:blue; text-decoration:none">ACboy ...

  4. iOS开发中经常使用的Xcode插件

    1.全能搜索家CodePilot 2.0 你要找的是文件?是目录?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入不论什么你想到搜的东西吧! 想搜appFinishLa ...

  5. HDU 4008 Parent and son LCA+树形dp

    题意: 给定case数 给定n个点的树,m个询问 以下n-1行给出树边 m个询问 x y 问:以x为根.y子树下 y的最小点标的儿子节点 和子孙节点 思路: 用son[u][0] 表示u的最小儿子 s ...

  6. javascript - 你不容错过的es6模板写法

    /** * ``即重音符(128键盘左上角ESC下面那个键盘) * 隶属:模板字符串 */ let unit = '4'; let keywords = 'uc'; // step1:模板变量 ${v ...

  7. 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性——位置设置偏向

    LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中内 ...

  8. CoolHash数据库引擎压测对比报告

    Coolhash 当前性能指标:读写吞吐量超过百万,千万级别查询1秒完成,连续48小时打满CPU强压力运行稳定.redis官方公布读写性能在10万 tps,leveldb官方公布写性能在40万tps, ...

  9. 前端模块化和AMD、CMD规范

    前端模块化和AMD.CMD规范 先看下基础:https://github.com/seajs/seajs/issues/547

  10. android launcher2开发之 有抽屉改成无抽屉

    在launcher.java中在createShortcut方法中   屏蔽全部应用button 修改之前 View createShortcut(int layoutResId, ViewGroup ...