Redis教程(Linux)
这里汇总了从简单的安装到较为复杂的配置,由浅入深的学习redis...
一 , 安装
1) redis扩展安装
从 官网上下载扩展压缩包
wget http://pecl.php.net/get/redis-4.1.0.tgz
//下载压缩包
tar -zxvf redis-4.1.0.tgz
//解压
cd redis-4.1.0
//进入解压之后的目录
phpize
//生成PHP configure文件
./configure --with-php-config=/usr/bin/php-config //--with-php-config 是告诉扩展需要安装的位置,自动帮我们配置好编译程序
make && make install
//编译安装
vim /etc/php.ini
//添加redis扩展
[redis]
extension=redis.so
//重启php-fpm
systemctl reload php-fpm
//查看时候已经加载成功
php -m | grep redis
注意点:
1. 路径使用自己的实际路径
2. 如果不确定使用哪个php.ini 文件 可以使用命令进行查看
php -i | grep php.ini
3. 执行./configure 报错,看是否安装autoconf gcc, 否则,安装
yum install autoconf
4.扩展安装一般步骤:
$ cd extname $ phpize $ ./configure $ make # make install
常见错误:
1. Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory
//将源码包中的 /usr/local/src/php-7.2.13/ext/openssl/config.m4 // 如果config.m4不存在则将config0.m4拷贝出一个命令为config.m4 cp config0.m4 config.m4 //拷贝到需要进行编辑的扩展目录下 cp config.m4 /usr/local/src/redis-5.0.3/config.m4 /usr/local/php/bin/phpize
2)redis 服务端安装
从官网上下载安装包
//下载安装包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar -zxvf redis-4.0.10.tar.gz
cd redis-4.0.10
make
安装完成之后,会生成一个目录src
可手动拷贝redis-server、redis-cli、redis-check-aof、redis-check-dump等至/usr/local/bin目录下,也可执行make install
//查看redis服务的版本信息
redis-server -v
指定目录安装
make install PREFIX=/usr/local/redis
定制的给配置文件分配目录
1. 创建配置文件目录,dump file 目录 , 进程pid目录, log目录
mkdir -p /etc/redis mkdir -p /var/redis cd /var/redis mkdir data log run
拷贝解压包下的redis.conf 至 /etc/redis
cp redis.conf /etc/redis/
编辑配置文件:
//pidfile
//dump目录
//log目录
//修改运行模式 daemonize
持久化: 默认rdb,可选择是否开启aof,若开启,修改配置文件appendonly
启动redis,
redis-server /etc/redis/redis.conf
此时可以观察设置的配置中的目录中的数据信息
2. 设置开机启动
将压缩包utils下的redis启动脚本移至/etc/init.d/
cp redis_init_script /etc/init.d/redis
修改脚本内容
此时,可以使用service redis start/stop 启动/关闭
如果不能使用以上配置, 则需要添加权限
chmod +x /etc/init.d/redis
如果还是不能成功,则修改脚本,添加启动优先级信息
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
//注意,一定是这种注释的这样,不能去除
解释:
上面的注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10
这个时候就可以设置自动启动
chkconfig redis on
二. 设置密码
vim /etc/redis.conf
#requirepass foobared去掉注释,foobared改为自己的密码
保存,重启redis服务
cd /usr/local/bin
./redis-server /etc/redis.conf
链接测试
测试连接:./redis-cli
auth 密码
三. 远程连接
1、修改redis服务器的配置文件 vi redis.conf 注释以下绑定的主机地址 # bind 127.0.0.1 或 vim redis.conf bind 0.0.0.0 protected-mode no 2、修改redis服务器的参数配置 修改redis的守护进程为no,不启用 127.0.0.1:6379> config set daemonize "no" OK 修改redis的保护模式为no,不启用 127.0.0.1:6379> config set protected-mode"no" OK 或者 config set requirepass 123 ->123是密码 注意:开启 6379端口
常见错误:
1. 使用服务启动脚本的时候
service redis stop Stopping ... OK (error) NOAUTH Authentication required. Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... Waiting for Redis to shutdown ... 出现这样的错误信息,redis 这时是没有停止服务的。
解决:
修改配置文件
vi /etc/init.d/redis $CLIEXEC -a "password" -p $REDISPORT shutdown