每一个你不满意的现在,都有一个你不努力的曾经。

Redis 编译安装以及PHP 扩展


Redis 安装

1)下载redis

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

2)解压缩

tar -zxvf redis-6.2.7.tar.gz
cd redis-6.2.7

3)编译安装、指定路径

make  && make install PREFIX=/usr/local/redis

4)安装完成后设置环境变量

vim /etc/profile

添加
PATH=$PATH:/usr/local/php74/bin
export PATH

立即生效
source  /etc/profile

5)直接启动(不建议使用)

# 进入redis安装目录
cd /usr/local/redis/bin/
# 启动服务
./redis-server

5.1)通过守护进程方式启动

# 第一步:从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /root/redis-6.2.6/redis.conf /usr/local/redis/bin/
# 第二步:修改redis.conf配置文件
cd /usr/local/redis/bin/
vim redis.conf
# 修改内容如下:
#daemonize 的值从 no 修改成 yes
# 第三步:启动服务
./redis-server redis.conf
# 第四步:查看进程来确定redis是否启动成功,非必须
ps -ef |grep redis

6)设置开机自动启动

切换到/lib/systemd/system/目录,创建redis.service文件。命令如下:

cd /lib/systemd/system/
vim redis.service

文件内容如下:

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

[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置开启自动启动

# 开机自动启动
systemctl enable redis.service
# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disabled redis.service

设置不限IP、以及密码

vim /usr/local/redis/bin/redis.conf

# 将127.0.0.1仅限本机访问改为 0.0.0.0 
bind 127.0.0.1 -::1
bind 0.0.0.0 -::1

#默认是注释的,设置密码后将前面的# 去掉
requirepass 密码

安装 RedisBloom

1) 下载

https://github.com/RedisBloom/RedisBloom/releases/tag/v2.2.14

wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.14.zip

2) 解压编译

# 解压
unzip v2.2.14.zip
# 编译插件
cd RedisBloom-2.2.14
make
# 編譯成功,會看到 redisbloom.so 文件

3) 安裝集成

# 修改 redis.conf 文件,新增 loadmodule配置,并重启 redis(如果是集群,則每個实例的配置文件都需要加入配置)
loadmodule /data/RedisBloom-2.2.14/redisbloom.so

#指定配置文件並啓動 Redis:
./redis-server redis.conf

#出现 表示加载布隆过滤器成功
* Module 'bf' loaded from /data/RedisBloom-2.2.14/redisbloom.so
  • BF.ADD --添加一個元素到布隆過濾器
  • BF.EXISTS --判斷元素是否在布隆過濾器
  • BF.MADD --添加多個元素到布隆過濾器
  • BF.MEXISTS --判斷多個元素是否在布隆過濾器

编译 PHP redis 扩展

https://pecl.php.net/package/redis

1) 下载Redis 扩展包

wget http://pecl.php.net/get/redis-5.2.1.tgz

2)解压

tar xzf redis-5.2.1.tgz

cd redis-5.2.1

3) 使用 phpize 扩展PHP模块通过phpize可以建立php的外挂模块

例如:

phpize
或者写全phpize路径
/usr/local/php74/bin/phpize

4) 生成编译文件

例如: --with-php-config=#你自己的php目录下的php-config

./configure --with-php-config=/usr/local/php74/bin/php-config

5) 编译安装

make && make install

编译安装后出现

Installing shared extensions:     /usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/

6) 修改PHP 配置文件

vim /usr/local/php74/etc/php.ini

再末尾加入,注意前面没有 ;

[redis]
extension=redis.so

7) 执行php -m 查看模块是否安装成功

[test@localhost etc]# php -m
[PHP Modules]
....
redis
....
[Zend Modules]
Card image cap

每一个你不满意的现在,都有一个你不努力的曾经。