1、安装Redis
1.1 如果没有安装wget,安装wget
yum install wget
1.2 在http://redis.io/download页面查看redis版本,并下载安装(注意可以切换最新版本安装,这里以4.0.9版本为例)
1.3 解压,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
如果make时没有发现gcc,那么安装gcc
yum install gcc gcc-c++ kernel-devel
再次make,如果出现如下错误
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such fileor directory
zmalloc.h:55:2: error: #error"Newer version of jemalloc required"
则使用如下命令进行make
make MALLOC=libc
如果make时若出现 Redis server.c:5103:19: server.c:5174:31: error: ‘struct redisServer’ has no member named ‘server_cp 请走如下流程:
1)安装gcc套装:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2)升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3)设置永久升级:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
上面是补录安装相关的包
1.4 在文件夹redis-4.0.9下启动redis服务,输入如下命令后回车。
./src/redis-server redis.conf &
1.4 检测
#检测后台进程是否存在
ps -ef |grep redis
#检测6379端口是否在监听
netstat -lntp | grep6379
#使用`redis-cli`客户端检测连接是否正常
./src/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>set key "hello world"
OK
127.0.0.1:6379>get key
"hello world"
设置密码:127.0.0.1:6379> config set requirepass “密码”
配置1 redis.conf配置文件,bind 127.0.0.1 屏蔽掉
配置2 在 redis.conf 中找到 protected-mode 将后面的 yes 改为 no
配置3 在 redis.conf 中找到 daemonize 将后面的 no 改为 yes
配置4 在 redis.conf 中找到 requirepass foobared ,可在下面添加 requirepass 你的密码
1.5 停止服务
#使用客户端
./src/redis-cli shutdown
#因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
kill -9PID
2、安装Redis的PHP扩展
安装前 请检查 php -v 版本保障是 7.0 以上版本 否则会出错
2.1 安装phpize
yum install php-devel
2.2 安装扩展phpredis
使用git clone下载git上的phpredis扩展包
[root@localhost local ]# wget http://pecl.php.net/get/redis-4.0.2.tgz
tar -zxvf redis-4.0.2.tgz
mkdir phpredis
cp redis-4.0.2/* phpredis/
到了这一步,我们要使用安装php时生成的phpize来生成configure配置文件,
//具体用哪个要取决于你的phpize文件所在的目录,这时你应该用 whereis phpize 来查看路径
[root@localhost local ]# whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
这里表明路径为/usr/bin/phpize,然后执行:
[root@localhost phpredis ]# /usr/bin/phpize
错误1:
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
这里报错了,原因是没有安装好php-devel,由于我是使用的php7.0所以执行以下命令:
[root@localhost phpredis]#yum -y install php70w-devel
错误2:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment
解决:yum install autoconf
然后再次执行:
[root@localhost phpredis]# /usr/bin/phpize
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012
参考:在centos7中为php7安装redis扩展_大明湖畔黑熊怪丶的博客-CSDN博客_php7 redis扩展
执行完上一步,我们就有了 configure 配置文件了,接下来配置
此处的--with-php-config=右边的php-config必须为当前php -v 版本下的配置文件,请根据自己的实际情况而定。此处耽误了不少时间(本人使用whereis php-config搜索php-config,搜索的不全,建议使用find 命令搜索的全面,以防使用错了路径)
$ ./configure --with-php-config=/lnmp/php71/bin/php-config
#这个路径根据实际你环境情况进行修改
$ make && make install
编译完成后显示:
Build complete.
Don't forget to run 'make test'. Installing shared extensions: /usr/lib64/php/modules/
进入/usr/lib64/php/modules/文件夹,发现redis.so的扩展
2.3 在php安装环境下 修改*/lib/php.ini,添加下面的扩展
extension=redis.so
2.4 重启php服务器
最后查看phpinfo,显示如下,代表安装成功:
参考:https://www.jianshu.com/p/e14ebbda5737
接下来修改redis.conf,设置密码和后台运行方式。
$ vim /usr/local/redis/redis.conf
将
requirepass foobared
前面的注释去掉,改成你的密码,如
requirepass 123456
将
daemonize yes
改为
daemonize yes
保存好即可。
测试:
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('123456');
echo "Connection to server sucessfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();
当前,我系统安装的PHP版本是7.2,实验证明PHP7.2已经支持Redis了。
如果执行phpize时报错: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
解决方法:
安装依赖 autoconf
$ yum -y install autoconf