1. 安装环境准备

1.1 主机环境准备

1.1.1. 关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

1.1.2. 部署规划

软件安装路径 /usr/local/redis/
bin 二进制路径
etc 配置路径
log 日志路径
data 数据路径
run pid路径
端口规划 7369

1.1.3. 系统主机时间、时区、系统语言

 本节视实际情况需要操作

    修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
   修改系统语言环境
echo 'LANG="en_US.UTF-8"' >> /etc/profile && source /etc/profile
   配置主机NTP时间同步
yum -y install ntp
systemctl enable ntpd && systemctl start ntpd
echo 'server ntp1.aliyun.com' >> /etc/ntp.conf
echo 'server ntp2.aliyun.com' >> /etc/ntp.conf

2. Redis安装部署

2.1 Redis依赖安装及部署

 添加用户与用户组(用户名请自行定义)

groupadd -r middle && useradd -s /sbin/nologin -r -M -g middle middle

 下载redis-5.0.8.tar.gz安装包,并解压安装

yum -y install gcc gcc-c++ automake autoconf libtool make wget
cd /opt
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
tar -zxvf redis-5.0.8.tar.gz
cd redis-5.0.8/src
make all && make install PREFIX=/usr/local/redis

 redis部署环境准备

mkdir -v /usr/local/redis/{log,data,etc,run}
touch /usr/local/redis/log/redis.log
cp /opt/redis-5.0.8/redis.conf /usr/local/redis/etc
cp mkreleasehdr.sh /usr/local/redis/bin/
chown -R middle:middle /usr/local/redis

 将Redis的命令所在目录添加到系统参数PATH中

cat >>/etc/profile<< EOF
export PATH="\$PATH:/usr/local/redis/bin"
EOF
source /etc/profile

2.2 修改redis.conf配置

cd /usr/local/redis/etc/
sed -i "s/daemonize no/daemonize yes/g" redis.conf
sed -i "s/^bind 127.0.0.1/bind 192.168.1.100/g" redis.conf
sed -i "s/^port 6379/port 7369/g" redis.conf
sed -i "s@pidfile /var/run/redis_6379.pid@pidfile /usr/local/redis/run/redis_7369.pid@g" redis.conf
sed -i "s@logfile ""@logfile "/usr/local/redis/log/redis.log"@g" redis.conf
sed -i "s@^dir ./@dir /usr/local/redis/data@g" redis.conf
sed -i "s@^# requirepass foobared@requirepass 密码@g" redis.conf
sed -i "s@^appendonly no@appendonly yes@g" redis.conf  --根据环境要求开启AOF

 相关参数注释如下

daemonize no    ---redis服务守护进程
bind 127.0.0.1    ---默认仅允许本机可连接,具体说明见3.2章节
port 6379  ----默认端口6379
pidfile /var/run/redis_6379.pid  ---pidfile路径与pid名称
logfile ""  ---redis的日志保存路径
dir ./     -----redis的数据文件保存路径
requirepass foobared   -----redis默认密码foobared(请配置足够复杂的密码)
appendonly no       ---在要求保证时时数据安全的环境开启AOF持久化

2.3 配置redis系统服务

2.3.1. 针对6系统添加系统服务

1、添加防火墙策略
(1)所有机器可访问

iptables -A INPUT -p tcp --dport 7369 -j ACCEPT
service iptables save

(2)特定IP192.168.142.166可访问本机7369端口

iptables -A INPUT -p tcp -s 192.168.142.166 --dport 7369 -j ACCEPT
service iptables save

2、添加redis系统服务启动脚本

vi /etc/init.d/redis
#!/bin/bash
#chkconfig: 2345 80 90
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.### BEGIN INIT INFO
# Provides:     redis_7369
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFOREDISPORT=7369
REDIS_HOME=/usr/local/redis
EXEC=$REDIS_HOME/bin/redis-server
CLIEXEC=$REDIS_HOME/bin/redis-cli
PIDFILE=$REDIS_HOME/run/redis_${REDISPORT}.pid
CONF="${REDIS_HOME}/etc/redis.conf"
case "$1" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."sudo -u middle $EXEC $CONF &fi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)kill -9 $PIDecho "Stopping ..."rm -rf $PIDFILEecho "Redis stopped"fi;;*)echo "Please use start or stop as first argument";;
esac

2、配置Redis系统服务及自启动

chmod +x /etc/init.d/redis
chkconfig --add redis && chkconfig redis on
chkconfig --list redis

3、启动与停止redis服务

service redis start
ps -ef|grep redis

service redis stop

2.3.2. 针对7系统添加系统服务

1、添加防火墙策略
(1)所有机器可访问

firewall-cmd --permanent --zone=public --add-port=7369/tcp
firewall-cmd --reload

(2)特定IP192.168.142.166可访问本机7369端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="7369" accept"
firewall-cmd --reload

(3)特定IP段192.168.142.0/24可访问本机7369端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.0/24" port protocol="tcp" port="7369" accept"
firewall-cmd --reload

2、添加redis系统服务启动脚本

cat >/usr/lib/systemd/system/redis.service<<EOF
[Unit]
Description=redis-server
Requires=network-online.target
After=network.target[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf --daemonize no
Restart=always
RestartSec=5
User=middle
Group=middle
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
EOF

2、配置Redis系统服务及自启动

systemctl daemon-reload
systemctl enable redis.service

3、启动与停止redis服务

systemctl start redis
ps -ef|grep redis
systemctl stop redis

3. Redis加固

3.1 禁用或重命名危险命令

 选择禁用还是重命名请根据实际环境操作,具体操作指令如下

    禁用
cd /usr/local/redis/etc/
sed -i '523irename-command CONFIG ""' redis.conf
sed -i '524irename-command FLUSHALL ""' redis.conf
sed -i '525irename-command FLUSHDB ""' redis.conf
   重命名(NAME1、NAME2、NAME3名称请自行定义)
sed -i '523irename-command CONFIG "NAME1"' redis.conf
sed -i '524irename-command FLUSHALL "NAME2"' redis.conf
sed -i '525irename-command FLUSHDB "NAME3"' redis.conf

3.2 禁止监听在公网

 默认情况下,Redis 监听 127.0.0.1。如果仅仅是本地通信,请确保监听在本地。

bind 127.0.0.1

 在redis.conf文件中指定访问源 IP 来访问 Redis(请根据实际环境来操作)。

bind 192.168.1.100 10.0.0.1

3.3 修改默认6379端口

 默认情况下,Redis默认使用6379,请修改默认监听端口,如本文档使用的是7369

port 7369

3.4 账号与认证

 设置访问密码
在 redis.conf中找到 # requirepass foobared字段,去掉#号注释,修改默认密码foobared,并要求密码符合密码复杂度要求:即密码应同时包含大小写、数字与特殊符号且长度不小于8位

requirepass www.pwd.cn12332@@#$%@!%

3.5 服务运行权限最小化

 使用普通用户redis启动服务(详见2.1章节)

groupadd -r middle && useradd -s /sbin/nologin -r -M -g middle middle

4. Redis优化

4.1 关闭内存大页

echo never > /sys/kernel/mm/transparent_hugepage/enabled
cat >>/etc/rc.local<<EOF
echo never > /sys/kernel/mm/transparent_hugepage/enable
EOF

4.2 优化内核参数

cat >>/etc/sysctl.conf<<EOF
fs.file-max = 6815744
vm.overcommit_memory = 1
net.core.somaxconn=1024
EOF
sysctl -p

备注:如果Redis启用了AOF持久化,请在内核参数中添加如下配置

cat >>/etc/sysctl.conf<<EOF
fs.file-max = 6815744
vm.overcommit_memory = 1
net.core.somaxconn=1024
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
EOF
sysctl -p

4.3 检查数据持久化策略

Redis 5.0 默认开启持久化策略为混合持久化。如果是其他版本的 Redis 首先需要检查一下,是否已经开启了混合持久化(该项优化根据项目需要修改配置)。

aof-use-rdb-preamble yes

5. 结束

redis安装与调优部署文档(Linux)相关推荐

  1. nginx安装与调优部署文档(Linux)

    1. 安装环境准备 1.1 主机环境准备 1.1.1. 关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/c ...

  2. redis安装包_redis安装与调优部署文档(WinServer)

    1. 安装环境准备 1.1 部署规划 软件安装路径 E:edis bin 二进制路径 etc 配置路径 log 日志路径 data 数据路径 端口规划 6390 2. Redis安装部署 2.1 Re ...

  3. Openmeetings—视频会议部署文档

    Openmeetings-视频会议部署文档 Linux丶晨星关注 0.3182019.11.15 19:48:49字数 1,714阅读 4,463 一.openmeeting简介 OpenMeetin ...

  4. Redis集群部署文档(Ubuntu15.10系统)

    Redis集群部署文档(Ubuntu15.10系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系 ...

  5. linux上搭载was应用上传中文文件,受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明...

    本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明. 从was9.0开始支持的最低版本的red hat Linux系统为6.6且仅支持64位操作系统 计 ...

  6. centos7安装rabbitmq_rabbitmq v3.7.16安装部署文档

    RabbitMQ v3.7.16安装部署文档 部署安装过程严格按照官方文档的流程. 前言 软件版本 os centos7(ubuntu也适用,需要替换部分命令) rabbitmq v3.7.16 (r ...

  7. 完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档

    完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档 完整代码下载地址:完整企业官网源码 某工程管理有限公司企业官网 前端 新版 ...

  8. 学习FusionInsight HD 安装与部署文档

      政府项目一般都会用到华为的项目, 所以必须学习华为的东西. 这里学习的是FusionInsight HD 6.5.1的安装与部署文档. 相关文档可以在华为官网下载. 1. FusionInsigh ...

  9. Varnish安装部署文档

    简述:Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. 系统环境: CentOS re ...

  10. pptpd安装部署文档

    简述: PPTP:点对点隧道协议 (PPTP: Point to Point Tunneling Protocol) 点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层. ...

最新文章

  1. 栈和队列的区别 | 每日趣闻
  2. 神经网络 梯度下降_梯度下降优化器对神经网络训练的影响
  3. java删除字符串最后一位
  4. PCM设备在雷达通信系统应用
  5. 非局部均值(Nonlocal-Mean)
  6. python文本数据处理_python 数据处理 对txt文件进行数据处理
  7. 非参数假设性检验 Wilcoxon秩和检验 matlab
  8. 深度linux操作系统
  9. NB-IOT基础模型搭建思路
  10. 中风后下肢麻木瘀阻案
  11. 科学计算机怎么按出arctan,计算器arctan怎么按
  12. php fpm 重启命令,php-fpm怎么重新启动
  13. JS(JavaScript)验证身份证号码格式的合法性
  14. Python爬取猫眼评分9.5的《海王》的3万条评论
  15. 软考知识点---20标准化与法律法规
  16. 用JS制作一个简易GPA计算器
  17. The Chicken and the Pig
  18. COS操作 java实现
  19. 第9章第9节:完成过渡页幻灯片版式的制作 [PowerPoint精美幻灯片实战教程]
  20. 机器学习实战2-聚类算法分析亚洲足球梯队

热门文章

  1. 批处理学习笔记3:使用echo命令输出空格行
  2. Python_2018-11-27_机器视觉——百度人脸识别
  3. 京东数科发布《京东区块链技术实践白皮书2020》(附白皮书下载链接)
  4. ffmpeg的使用 | m3u8视频下载、合并
  5. easyrecovery免费数据恢复工具操作简单一键恢复数据
  6. CUDA10.2显卡驱动安装
  7. 奥维使用天地图 疑似攻击解决方案、访问上限解决方案
  8. 计算线性回归、指数回归公式
  9. Ubuntu 印象笔记网页剪切插件无法登录问题的一种解决方案
  10. band math函数_波段运算(bandmath)工具中常用的函数和实例