linux下安装redis和phpredis扩展
安装redis下载安装包[root@izbp1bjm0o6frv1c7pp8uaz redis]# wget http://download.redis.io/releases/redis-6.0.8.tar.gz如果下载失败 多运行几次命令就可以解压安装包[root@izbp1bjm0o6frv1c7pp8uaz redis]# tar -zxvf redis-6.0.8.tar.gz进入安装目
安装redis
先创建一个安装redis的目录 我创建的目录在 /usr/local/redis
安装
1,下载安装包
[root@izbp1bjm0o6frv1c7pp8uaz redis]# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
- 如果下载失败 多运行几次命令就可以
2,解压安装包
[root@izbp1bjm0o6frv1c7pp8uaz redis]# tar -zxvf redis-6.0.8.tar.gz
3,进入安装目录并编译
[root@izbp1bjm0o6frv1c7pp8uaz redis]# cd redis-6.0.8
编译
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# make
#测试make编译是否成功
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# make test
# 如果make test后 有错误 可自行百度
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# make install
- 编译过程中报错SERVER.C:XXXX:XX: ERROR: ‘XXXXXXXX’ HAS NO MEMBER NAMED ‘XXXXX’
- 需要升级gcc版本 按照线面的命令升级
#升级到 5.3及以上版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
//scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
如果要长期生效的话,执行下面的命令
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
# 编译出错时 清除编译生成的文件
make distclean
#卸载
make uninstall
4,启动redis
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# src/redis-server
或
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# redis-server
看到下面的界面就表示安装启动成功了 如果退出了该程序 或者 按了快捷键ctrl+c 就关闭了redis 出现下面的页面想要Redis 启动使用 就设置开机自己 或者直接强制关闭黑窗口(终端)
成功界面
关闭redis命令
src/redis-cli shutdown 或 redis-cli shutdown
如果linux服务器重启后导致redis数据丢失这需要一下设置
vim /etc/sysctl.conf
# 在最后一行添加
vm.overcommit_memory = 1
# 用sysctl -p 使配置生效
sysctl -p
#会返回添加的那一行,说明添加成功。
#以后linux服务器在重启,redis的数据就不会丢了。
到此为止redis就可以正常使用了
开启远程密码登录
要开启远程访问一定要关闭防火墙 systemctl stop firewalld
#设置密码 设置了密码 在线链接数据句就要输入密码
requirepass 123123
#设置可以访问redis的ip
bind 0.0.0.0 #0.0.0.0 任何都可以访问 可不做修改 用默认的
protected-mode no # 关闭保护模式 开启密码远程登录需要关闭保护模式
######################################################
配置redis开机自启
接下来非常重要的一步 刚才的启动是前台启动 我们要配置后台启动和开机自启
1,设置 redis-server 以守护线程方式启动
- 在redis.conf的配置文件里面。做如下的修改:后台运行
daemonize no
#修改为:
daemonize yes
2,设置redis服务器开机自动启动:
-
要先让redis服务自动启动的话,首先需要在/etc/init.d目录下创建redis的启动脚本。
-
将redis安装目录下的utils/redis_init_script复制到/etc/init.d目录下,命名为redis
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# cp utils/redis_init_script /etc/init.d/redis
- 继续编辑启动文件,修改其中指定的pid和配置文件。
[root@izbp1bjm0o6frv1c7pp8uaz redis-6.0.8]# cd /etc/init.d/
[root@izbp1bjm0o6frv1c7pp8uaz init.d]# vim redis
#把
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
#修改为
PIDFILE=/usr/local/redis/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis-6.0.8/redis.conf"
- 创建存放pid的目录为/usr/local/redis/run
[root@izbp1bjm0o6frv1c7pp8uaz init.d]# mkdir -p /usr/local/redis/run
- 修改配置文件中的pid为前面配置的pid。就是/usr/local/redis/redis-6.0.8 下面的redis.conf
[root@izbp1bjm0o6frv1c7pp8uaz redis]# pwd
#/usr/local/redis/redis-6.0.8
[root@izbp1bjm0o6frv1c7pp8uaz redis]# vim redis.conf
#把
pidfile /var/run/redis_6379.pid
#修改为(方便统一管理)
pidfile /usr/local/redis/run/redis_6379.pid
- 接下来我们已经可以通过service redis start/stop来启动和关闭redis服务了。
[root@izbp1bjm0o6frv1c7pp8uaz redis]# service redis start
#直接在线链接编辑redis数据库
[root@izbp1bjm0o6frv1c7pp8uaz redis]# redis-cli
- 最后只需要通过chkconfig redis on命令来设置开机启动即可。
[root@izbp1bjm0o6frv1c7pp8uaz /]# chkconfig redis on
- 关闭开机自启chkconfig redis off
[root@izbp1bjm0o6frv1c7pp8uaz /]# chkconfig redis off
如果提示redis 服务不支持 chkconfig的话,只需要在/etc/init.d/redis这个启动脚本的第二行后面加上下面的内容即可。
# chkconfig:2345 90 10
#
# description:Redis is a persistent key-value database
常见的配置信息修改
通过以上处理 在修改 端口号密码等操作 修改的配置文件为/usr/local/redis/redis-6.0.8下面的redis.conf
#设置可以访问redis的ip
bind 0.0.0.0 #0.0.0.0 任何都可以访问 可不做修改 用默认的
> 要开启远程访问一定要关闭防火墙 systemctl stop firewalld
> 要开启远程访问一定要关闭防火墙 systemctl stop firewalld
> 要开启远程访问一定要关闭防火墙 systemctl stop firewalld
#设置端口号
port 6379
#设置密码 设置了密码 在线链接数据句就要输入密码
requirepass 123123
* protected-mode no # 关闭保护模式 开启密码远程登录需要关闭保护模式
* daemonize yes # 守护进程模式开启(可以后台运行)
将 daemonize no 修改为yes
* port 6666 #可以修改端口号,默认是6379
* bind 127.0.0.1 #注释掉,监听所有的IP地址,配置远程主机登陆(如果需要其他ip的redis客户端访问)
*
* requirepass redispwd #可以修改密码,requirepass 后边添加redis密码
将下面这一行放开,设置成自己的密码
# requirepass foobared
配置了密码以后登录就需要输入密码,否则无法查看数据库中的数据
[fan@master redis-4.0.11]$ redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> keys *
1) "list4"
如果设置了端口号 修改了密码可以这样链接 没密码就不用加 -a 密码
redis-cli -h 127.0.0.1 -p 端口号 -a 密码
如果修改了其他的配置信息 要进行配置信息的重新载入
redis-server /usr/local/redis/redis-6.0.8/redis.conf
[root@izbp1bjm0o6frv1c7pp8uaz /]# redis-server /usr/local/redis/redis-6.0.8/redis.conf
启动 关闭命令
启动redis服务
redis-server
redis-server /usr/local/redis/redis-6.0.8/redis.conf
连接redis
redis-cli
或者
redis-cli -h 127.0.0.1 -p 端口号 -a 密码
关闭redis服务
redis-cli shutdown
启动/停止
service redis start/stop
如果出现 /var/redis/run/redis_6379.pid exists, process is already running or crashed 中文问题 重新启动服务器 或者 重新启动服务 redis-server /usr/local/redis/redis-6.0.8
安装php redis扩展
1,下载安装包
[root@izbp1bjm0o6frv1c7pp8uaz redis]# wget https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
2,解压
[root@izbp1bjm0o6frv1c7pp8uaz redis]# tar -zxvf 4.3.0.tar.gz
3,进入目录
[root@izbp1bjm0o6frv1c7pp8uaz redis]# cd phpredis-4.3.0/
4,使用phpize解压 如果找不到当前php版本的phpize的位置 可以查找一下 find / -name phpize
[root@izbp1bjm0o6frv1c7pp8uaz phpredis-4.3.0]# /www/server/php/74/bin/phpize
5,配置 如果找不到当前版本的php-config 可以查找一下 find / -name php-config
[root@izbp1bjm0o6frv1c7pp8uaz phpredis-4.3.0]# ./configure --with-php-config=/www/server/php/74/bin/php-config
6,编译&安装
[root@izbp1bjm0o6frv1c7pp8uaz phpredis-4.3.0]# make
[root@izbp1bjm0o6frv1c7pp8uaz phpredis-4.3.0]# make install
7,编译成功
8,编辑php.ini 如果找不到当前版本的php.ini 可以查找一下 find / -name php.ini
[root@izbp1bjm0o6frv1c7pp8uaz phpredis-4.3.0]# vim /www/server/php/74/etc/php.ini
//写入下面代码
extension=redis.so
9,重启php
使用kill重启
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
# 先找到php-fpm 进程
ps aux|grep php-fpm
找到安装php-redis的php版本 先查看php-fpm的master进程号 (以安装php7.4为例)
重启命令
kill -usr2 10237
10,安装成功
在phpinfo页面可以看到关于redis的选项,说明安装成功。
卸载linux中的redis
查看redis是否在运行、查看redis进程
ps aux|grep redis
杀死redis用户进程
kill -9 进程id
停止redis服务器
redis-cli shutdown
直接删除掉和redis有关的 文件夹 和 文件
更多推荐
所有评论(0)