centos7 离线安装redis 及PHP扩展redis

本文详细介绍如何在Linux环境下安装Redis及其相关组件,并提供启动、配置及安装PHP Redis扩展的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux 安装redis

redis相关的包 

phpredis-2.2.4.tar.gz
phpredis-develop.zip
redis-4.0.6.tar.gz
链接: https://pan.baidu.com/s/1eSOwqhO 密码: af4c

1.解压 编译安装

tar -zxvf redis-4.0.6.tar.gz
cd redis-4.0.6/src
make
make install

2. 移动文件

ls redis-4.0.6/src 时 可以看到一些绿色文件
mkdir  -p /usr/local/redis/etc   ###etc拥有存放配置文件
mkdir  -p /usr/local/redis/bin   ###bin用于存放命令

将redis-4.0.6文件夹下的redis.conf复制到/usr/local/redis/etc/
cp ../redis.conf  /usr/local/redis/etc/

将redis-4.0.6/src 文件夹下 的绿色的文件拷贝到 /usr/local/redis/bin
cp 绿色文件名  /usr/local/redis/bin/
 cd /usr/local/redis/bin
ls

3. 启动redis服务。启动redis服务需要用到命令redis-server

 ./redis-server
可能会出现 Warning: no config file specified, 
终止后
 ./redis-server /usr/local/redis/etc/redis.conf
 现在redis是在前台运行

redis在后台运行
vi /usr/local/redis/etc/redis.conf
搜索:/daemonize
把daemonize配置项改为yes 
保存退出

./redis-server /usr/local/redis/etc/redis.conf
ps -ef | grep redis
pstree -p  | grep redis   ##树状显示
netstat -ntlp | grep 6379   ###端口

[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli
127.0.0.1:6379>//提示
则表明客户端登录成功

4.加入systemctl  配置redis

vi /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target

[Service]
#Type=forking
PIDFile=/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf  --daemonize no
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存退出
systemctl daemon-reload
systemctl start redis
systemctl enable redis
systemctl is-enabled redis

若出现错误
systemctl enable redis
Failed to execute operation: Bad message

请检查/usr/lib/systemd/system/redis.service文件


5.如果已安装PHP 安装php-redis扩展

需要 phpredis-develop.zip
下载地址:https://github.com/phpredis/phpredis/archive/develop.zip
unzip  phpredis-develop.zip
cd phpredis-develop
/usr/local/php7/bin/phpize 
./configure --with-php-config=/usr/local/php7/bin/php-config
make
(看到结果:Don't forget to run 'make test'.即为成功)
make install
(看到结果为:Installing shared extensions:     /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
)
注:Installing shared extensions ----表示生成了动态链接库文件redis.so.
可以查看有没有redis.so
ls   /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/

文件 redis.so 路径
phpredis-develop/modules/redis.so
phpredis-develop/.libs/redis.so
/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/redis.so
三个文件是同一个文件


配置php.ini

在extension后添加
extension=redis.so
 
重启php

测试redis 

cd 
vi test.php
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
echo 'Connection to server successfully';
echo 'Server is running:' . $redis->ping();
:wq


执行test.php
php test.php


若出现错误Fatal error: Uncaught Error: Class 'redis' not found 
可能是因为运行php命令和apache或ngnix可能使用了不同的php.ini,即使在php.ini里看到加载了redis,还需要在php命令行使用php.ini里也增加Redis模块。
解决:
1.查看phpinfo 中php.ini的位置  /usr/local/php7/etc/php.ini
2.搜索php.ini文件的位置 /usr/local/php7/lib/
3. cp /usr/local/php7/etc/php.ini  /usr/local/php7/lib/php.ini
4.重启php-fpm  nginx  redis
5.执行test.php  
[root@192 /]# php test.php
Connection to server successfullyServer is running:+PONG[root@192 /]#


php -m | grep redis


<think>嗯,用户想在CentOS 7离线安装Redis,需要包括依赖项和二进制文件的准备。首先,我需要回忆一下Redis安装步骤,尤其是离线的情况。通常在线安装会直接下载源码包,但离线的话需要提前下载好依赖项和源码。 首先,Redis的依赖项可能包括gcc、make这些编译工具,还有可能需要的库如jemalloc。CentOS 7默认的gcc版本是4.8.5,但Redis 6及以上可能需要更高版本的gcc,比如5.3以上。所以用户如果安装的是Redis 5可能没问题,但如果是Redis 6,就需要升级gcc。这时候可能需要先准备好这些依赖的rpm包,或者通过其他方式离线安装。 然后,用户需要下载Redis的源码包,比如从官网下载tar.gz文件。离线的话,得先在有网络的环境下下载好,再复制到目标机器上。接下来是编译安装,需要解压源码包,进入目录,执行make和make install。这里要注意的是,如果gcc版本不够,编译可能会出错,所以必须确认依赖是否满足。 另外,用户可能需要创建必要的目录,比如安装目录和配置文件的位置。配置文件redis.conf需要复制到合适的路径,可能需要调整一些设置,比如daemonize设为yes,以便后台运行。还有,可能需要配置环境变量,把Redis的bin目录加入PATH中,方便命令执行。 还要考虑开机自启动的配置,不过用户可能只需要安装部分,这个可以看用户是否需要。另外,离线安装的话,所有步骤都需要手动处理,不能通过yum来自动解决依赖,所以必须提前准备好所有依赖的rpm包,比如使用yumdownloader或者rpmrebuild等工具来获取离线包。 总结步骤应该是:准备依赖包(gcc、make等),下载Redis源码包,传输到目标机器,安装依赖,解压编译,配置环境,启动服务。需要确保每个步骤的可行性,特别是依赖项的处理,否则编译会失败。可能还需要检查是否有其他库需要,比如openssl之类的,但Redis本身可能不需要,不过最好确认一下。 另外,用户提到的引用中有关于不同版本的安装,比如引用2是Redis5,引用3是Redis6,可能需要区分不同版本的安装注意事项。比如Redis6需要更高版本的gcc,而CentOS7默认的可能不够,需要升级。所以在步骤中需要特别提醒用户根据版本处理gcc的问题,或者建议用户安装Redis5以避免依赖问题。 最后,生成相关问题可能需要涉及依赖项处理、配置文件调整、服务启动方法,以及不同版本之间的差异等。</think>以下是在CentOS 7离线安装Redis的完整步骤: ### 一、依赖项准备 1. **基础编译工具** 需提前下载以下RPM包(需与系统架构匹配): - gcc-4.8.5-44.el7.x86_64.rpm - make-3.82-24.el7.x86_64.rpm - tcl-8.5.13-8.el7.x86_64.rpm - systemd-devel-219-78.el7_9.9.x86_64.rpm [^3] 2. **安装依赖** ```bash rpm -ivh gcc*.rpm make*.rpm tcl*.rpm systemd-devel*.rpm ``` ### 二、Redis二进制文件准备 1. **下载源码包** 在联网环境中下载Redis 5.0.14(兼容CentOS 7默认gcc版本): ```bash wget http://download.redis.io/releases/redis-5.0.14.tar.gz ``` 通过U盘或SSH传输到目标服务器[^2]。 2. **编译安装** ```bash tar -zxvf redis-5.0.14.tar.gz cd redis-5.0.14 make && make install PREFIX=/usr/local/redis ``` 若安装Redis 6.x需先升级gcc至5.3+版本。 ### 三、配置与启动 1. **配置文件处理** ```bash mkdir /usr/local/redis/conf cp redis.conf /usr/local/redis/conf/ sed -i 's/daemonize no/daemonize yes/' /usr/local/redis/conf/redis.conf ``` 2. **环境变量配置** 在`/etc/profile`末尾添加: ```bash export PATH=$PATH:/usr/local/redis/bin source /etc/profile ``` 3. **启动服务** ```bash redis-server /usr/local/redis/conf/redis.conf ``` ### 四、验证安装 ```bash redis-cli ping # 返回PONG表示成功 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值