2.centos安装redis环境

继续上篇安装jdk环境后,今天来安装一下redis环境。还是使用wget命令下载压缩包。同样是在root权限下安装。

1.新建文件。

还是在usr新建一个redis文件夹,执行步骤如:

[root@192 ~]# cd /usr
[root@192 usr]# ls
bin  etc  games  include  java  lib  lib64  libexec  local  sbin  share  src  tmp
[root@192 usr]# mkdir redis
[root@192 usr]# ls
bin  etc  games  include  java  lib  lib64  libexec  local  redis  sbin  share  src  tmp
[root@192 usr]# cd redis
[root@192 redis]# ls
[root@192 redis]# ls -all
总用量 0
drwxr-xr-x.  2 root root   6 822 10:30 .
drwxr-xr-x. 15 root root 180 822 10:30 ..

2.下载redis后缀为tat.gz的安装包,并且解压

[root@192 redis]# wget http://download.redis.io/releases/redis-3.2.1.tar.gz
--2020-08-22 10:38:25--  http://download.redis.io/releases/redis-3.2.1.tar.gz
正在解析主机 download.redis.io (download.redis.io)... 45.60.125.1
正在连接 download.redis.io (download.redis.io)|45.60.125.1|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1534696 (1.5M) [application/octet-stream]
正在保存至: “redis-3.2.1.tar.gz”

100%[=================================================>] 1,534,696   64.6KB/s 用时 29s      

2020-08-22 10:38:54 (52.2 KB/s) - 已保存 “redis-3.2.1.tar.gz” [1534696/1534696])

[root@192 redis]# ls
redis-3.2.1.tar.gz
[root@192 redis]# tar -zxvf redis-3.2.1.tar.gz
[root@192 redis]# ls
redis-3.2.1  redis-3.2.1.tar.gz

3.进入redis的解压目录,执行编译。

[root@192 redis]# cd redis-3.2.1
[root@192 redis-3.2.1]# ls
00-RELEASENOTES  COPYING  Makefile   redis.conf       runtest-sentinel  tests
BUGS             deps     MANIFESTO  runtest          sentinel.conf     utils
CONTRIBUTING     INSTALL  README.md  runtest-cluster  src

本来以为会一切顺利,但是(很高兴)看到出错了,又能长见识了。度娘一下,redis是C编写的,所有要先安装gcc环境,所有我们执行一下安装命令,再次编译一下

[root@192 redis-3.2.1]# make
cd src && make all
make[1]: 进入目录“/usr/redis/redis-3.2.1/src”
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
(cd ../deps && make distclean)
make[2]: 进入目录“/usr/redis/redis-3.2.1/deps”
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: 离开目录“/usr/redis/redis-3.2.1/deps”
(rm -f .make-*)
echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings
echo WARN=-Wall -W >> .make-settings
echo OPT=-O2 >> .make-settings
echo MALLOC=jemalloc >> .make-settings
echo CFLAGS= >> .make-settings
echo LDFLAGS= >> .make-settings
echo REDIS_CFLAGS= >> .make-settings
echo REDIS_LDFLAGS= >> .make-settings
echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -O2 -g -ggdb   -I../deps/geohash-int -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings
echo PREV_FINAL_LDFLAGS=  -g -ggdb -rdynamic >> .make-settings
(cd ../deps && make hiredis linenoise lua geohash-int jemalloc)
make[2]: 进入目录“/usr/redis/redis-3.2.1/deps”
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-cflags)
(echo "" > .make-ldflags)
MAKE hiredis
cd hiredis && make static
make[3]: 进入目录“/usr/redis/redis-3.2.1/deps/hiredis”
gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/usr/redis/redis-3.2.1/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/usr/redis/redis-3.2.1/deps”
make[1]: [persist-settings] 错误 2 (忽略)
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/usr/redis/redis-3.2.1/src”
make: *** [all] 错误 2
[root@192 redis-3.2.1]# yum install -y gcc
[root@192 redis-3.2.1]# make
cd src && make all
make[1]: 进入目录“/usr/redis/redis-3.2.1/src”
    CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
 #include <jemalloc/jemalloc.h>                             
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/usr/redis/redis-3.2.1/src”
make: *** [all] 错误 2
[root@192 redis-3.2.1]# ls
00-RELEASENOTES  COPYING  Makefile   redis.conf       runtest-sentinel  tests
BUGS             deps     MANIFESTO  runtest          sentinel.conf     utils
CONTRIBUTING     INSTALL  README.md  runtest-cluster  src

但是再次编译的时候又出错,这次就要哭了。再次度娘一下吧(我对度娘不离不弃),需要指定一个参数,具体含义自行度娘,我再哭会0.0

[root@192 redis-3.2.1]# make MALLOC=lic

4.擦干眼泪继续,执行安装命令可以指定安装目录。安装成功后进入bin目录.

[root@192 redis-3.2.1]# make install PREFIX=/usr/redis/myredis
cd src && make install
make[1]: 进入目录“/usr/redis/redis-3.2.1/src”

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: 离开目录“/usr/redis/redis-3.2.1/src”
[root@192 redis-3.2.1]# cd /usr/redis/myredis
[root@192 myredis]# ls
bin
[root@192 myredis]# cd bin

还需要把解压目录中的redis.config文件拷贝到安装目录,并执行以下操作。成功启动,测试一下

[root@192 redis-3.2.1]# cp /usr/redis/redis-3.2.1/redis.conf /usr/redis/myredis/bin
[root@192 redis-3.2.1]# cd /usr/redis/myredis/bin
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
#将daemonize修改为yes保存退出
[root@192 bin]# vi redis.conf
[root@192 bin]# ps aux|grep redis
root       2277  0.0  0.1 131536  1964 ?        Ssl  11:31   0:00 ./redis-server 127.0.0.1:6379
root       2283  0.0  0.0 112824   980 pts/0    R+   11:32   0:00 grep --color=auto redis
[root@192 bin]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set i niux
OK
127.0.0.1:6379> get i
"niux"

5.把redis设置为服务

[root@192 bin]# vi /etc/systemd/system/redis.service

复制以下内容,ExecStart指定自己的目录,保存退出

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/redis/myredis/bin/redis-server /usr/redis/myredis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后执行以下命令

[root@192 bin]# systemctl daemon-reload
[root@192 bin]# systemctl start redis.service
[root@192 bin]# systemctl enable redis.service

ok,大功告成,庆祝一下,中午加个鸡腿。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值