Redis 3.2.1 install on Centos 7
转自我的主站点
http://www.shenglan1101.com/post/2d9160_bcb75e3
1. 安装Centos 7 此处省略
2.安装完以后,以Root权限登录
3.安装前置组件,make组件,gcc组件 wget组件 tcl组件
如果已经安装,可以跳过此步骤
yum install make gcc wget tcl
4. 使用wget命令从 Redis官方网站stable安装包
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
然后解压此安装包
tar xzvf redis-3.2.1.tar.gz
5. 然后对此包进行编译
cd redis-3.2.1
make
安装前建议使用test命令进行检查
make test
如果遇下列问题
Executing test client: NOREPLICAS Not enough good slaves to write..
可以修改文件tests/integration/replication-2.tcl,将after 1000改为after 10000以延长等待时间。
然后执行make install
接下来需要创建redis的配置目录和数据目录
sudo mkdir –p /etc/redis
sudo mkdir –p /var/redis
sudo mkdir –p /var/log/redis
sudo cp redis.conf /etc/redis
考虑到安全因素,建议创建独立的redis用户用以运行程序:
sudo useradd redis
sudo chown –R redis.redis /var/redis
sudo chown –R redis.redis /var/log/redis
在修改redis配置文件前,我们需要修改一些系统配置:
1. 编辑/etc/sysctl.conf加入
vm.overcommit_memory = 1
fs.file-max = 100000
net.core.somaxconn = 2048
并执行以下命令:
sudo sysctl vm.overcommit_memory=1
sudo sysctl fs.file-max=100000
sudo sysctl net.core.somaxconn=2048
编辑/etc/security/limits.conf,加入:
* - nofile 100000
请注意limits需要注销再登陆后才生效。
2. 编辑/etc/rc.local,加入
echo never > /sys/kernel/mm/transparent_hugepage/enabled
然后以root身份(非sudo)执行下列命令:
sudo echo never >/sys/kernel/mm/transparent_hugepage/enabled
执行完成后退出root用户。
检查安装结果
安装完成后需要验证安装结果。
在启动redis前请确保/usr/local/bin在环境变量PATH中(建议加入到bash_profile)。
首先启动服务器:
nohup redis-server &
redis-cli ping
如果配置准确,服务器端应该返回PONG.
接着利用fg命令切回redis-server前台,按Ctrl+C中止服务。
配置为服务运行
将redis配置为服务需要修改/etc/redis/redis.conf文件。
请按照如下方式修改参数:
bind 本地IP(开发环境/DHCP中请注释掉此行)
protected-mode no
daemonize yes
pidfile /var/run/redis_6379.pid
logfile /var/log/redis/redis_6379.log
dir /var/redis
接下来需要创建服务init脚本,可以参考utils目录下的redis_init_script
sudo cp utils/redis_init_script /etc/init.d/redis
默认的配置文件/etc/init.d/redis不支持chkconfig,需要在模板的注释下追加两行:
# chkconfig: 345 20 80
. /etc/init.d/functions
接着修改文件中的PIDFILE和CONF参数
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/redis.conf"
RUNAS="redis"
然后把相关的启动部分改为:
su - $RUNAS “$EXEC $CONF”
关闭部分改为
su - $RUNAS “$CLIEXEC -p $REDISPORT shutdown”
将/etc/init.d/redis的权限模式设置为744
sudo chmod 755 /etc/init.d/redis
将redis加入到服务中:
sudo chkconfig --add redis
sudo chkconfig --level 345 redis on
启动服务:
sudo service redis start
可以通过检查日志/var/log/redis.log确认文件的运行情况。
配置防火墙
默认情况下,redis使用6379端口,可以使用以下命令配置防火墙。
sudo yum install system-config-firewall-base.noarch
sudo firewall-cmd --permanent --