程序员疯子的博客-Code is Art, Code is Poetry!

centos redis 源码安装配置

centos redis 源码安装配置

载redis源码,并进行相关操作:

1
2
3
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
tar -zxvf redis-3.2.3.tar.gz
1
mv redis-3.2.3 redis

image

解压完毕后,现在开始安装:

1
2
3
cd redis
make && make install

image

如果出现上图 则是没有安装编译环境

1
yum install gcc

image

出现上图 就安装好编译环境了

1
make && make install

继续执行 发现又出错误了

image

解决办法:

1
2
make MALLOC=libc
make install

image

到此安装成功!!!

可查看,/usr/local/bin下已有这些文件。
注意:若此时执行redis-server –v (查看版本命令),若提示redis-server command not found,则需要将/usr/local/bin目录加到环境变量

1
vi /etc/profil

把PATH=/usr/local/bin:$PATH
export PATH
添加到里面
要是刚才的修改马上生效,需要执行以下代码

1
source /etc/profile

时再查看系统环境变量,就能看见刚才加的东西已经生效了

1
2
[root@localhost utils]# echo $PATH
/usr/local/bin:/usr/java/jdk1.8.0_131/bin:/usr/java/jdk1.8.0_131/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/bin:/usr/local/bin

配置

通过上图,我们可以很容易的看出,redis安装到/usr/local,/usr/local/bin,/usr/local/share,/usr/local/include,/usr/local/lib,/usr/local/share/man目录下。

然后再切换到utils目录下,执行redis初始化脚本install_server.sh,如下:

1
2
3
cd utils/
./install_server.sh

image
通过上图,我们可以看出redis初始化后redis配置文件为/etc/redis/6379.conf,日志文件为/var/log/redis_6379.log,数据文件dump.rdb存放到/var/lib/redis/6379目录下,启动脚本为/etc/init.d/redis_6379。

修改配置文件,配置参数

打开、etc/redis 编辑6379.conf(重命名为redis.conf)我没有其他需求 所以目录不修改

持久化打开

默认rdb,可选择是否开启aof,若开启,修改配置文件appendonly

开启后台运行

修改daemonize属性改成 yes
image

配置成功!!!

redis添加成服务

创建redis启动脚本
拷贝解压包下utils下redis启动脚本至/etc/init.d/

1
cp /usr/local/gzf/redis/redis/utils/redis_init_script /etc/init.d/

修改脚本配置(如果之前改过etc/redis下配置文件名字的话)

1
vi /etc/rc.d/init.d/redis_init_script
1
CONF="/etc/redis/redis.conf"

保存
退出
至此,在/etc/init.d/目录下,已经可以通过service redis start/stop 命令启动和关闭redis

若在其他目录下,不能够使用这2个命令,请继续配置

给启动脚本添加权限

1
chmod +x /etc/init.d/redis

设置开机自启动

1
chkconfig redis on

如果运行报错,提示
image

是因为没有在启动脚本里加入redis启动优先级信息,可添加如下

image

然后 运行

1
chkconfig redis on

image

如果另一台机器链接不上 如下:
image
(有可能是防火墙跟配置问题)
打开 /etc/redis/redis.conf 注释掉 bind 127.0.0.1

在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错

修改

1
protected-mode no

然后

1
vi /etc/sysconfig/iptables

在 icmp-host-prohibited 上面加入

1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

然后 重启防火墙

1
services iptables restart

完工!!!!写的不好,欢迎大家提意见。。。

Fengzijk wechat
欢迎您扫一扫上面的微信公众号,订阅我的公众号!
您的支持将鼓励我继续创作