redis安装
1、环境准备
yum install -y gcc gcc-c++ tcl
安装gcc和gcc-c++,还要注意gcc的版本,用gcc -v来查看当前安装的gcc版本,版本过低(一般需要4.0以上)的话编译redis3.0以上的是会出错的。
yum install gcc -y
yum install gcc-c++ -y
有可能还要安装tcl(如果make test出现You need tcl 8.5 or newer in order to run the Redis test的话)
yum install tcl -y
redis编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录
分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:
make MALLOC=libc
2、解压
解压到/usr/local 目录下
tar -axvf redis-4.0.14.tar.gz
mv redis-4.0.14 /usr/local/redis
3、编译
Redis目录下
make
编译报错清除编译文件
make clean
4、安装
src目录下
make install
5、修改配置文件
vim /usr/local/redis/redis.conf
a)daemonize 属性为 yes -- 需要在后台运行
b)bind 127.0.0.1这一行 -- bind指只有特定网段才能访问这个redis,注释掉就没有这个限制了
c)protected-mode 为no -- 允许远程访问(yes为阻止远程访问)
d)# requirepass foobared -- 表示密码为空(若要设置自己的密码,将前面的#号去掉,将foobared改为自己的密码即可)
6、启动redis
src目录下
./redis-server ../redis.conf
7、测试redis
src目录下
./redis-cli
auth 密码
set a 1
get a
8、关闭redis
src目录下
./redis-cli
auth 密码
shutdown
9、配置环境变量
tee /etc/profile.d/redis.sh << "EOF"
REDIS_HOME=/usr/local/redis
PATH=$PATH:$REDIS_HOME/src
export PATH REDIS_HOME
EOF
source /etc/profile
10、配置systemctl
tee /lib/systemd/system/redis.service << 'EOF'
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
注意,路径替换成你自己的安装路径, pid路径和 redis.conf里面的路径保持一致
systemctl daemon-reload #刚刚配置的服务需要让systemctl能识别,就必须刷新配置
systemctl enable redis.service #加入开机启动