乌班图中安装 Redis(Nginx + PHP8.4)

安装 Redis 服务端

首先安装 Redis 服务器本身,这是提供 Redis 缓存服务的核心组件。

更新系统软件源

先更新 Ubuntu 的包索引,确保安装的是最新版本的软件:

sudo apt update && sudo apt upgrade -y

安装 Redis 服务器

Ubuntu 官方源已包含 Redis,直接通过 apt 安装即可:

sudo apt install -y redis-server

验证 Redis 服务状态

安装完成后,检查 Redis 是否正常运行:

sudo systemctl status redis-server
如果输出中显示 active (running),说明 Redis 服务已成功启动。

(可选)设置 Redis 开机自启

确保系统重启后 Redis 自动运行:

sudo systemctl enable redis-server

安装 PHP 8.4 的 Redis 扩展

仅安装 Redis 服务端还不够,PHP 需要对应的扩展才能与 Redis 通信,这里通过 PECL(PHP 扩展库)安装最便捷。

安装编译依赖

安装 PHP 8.4 的开发包和编译工具:

sudo apt install -y php8.4-dev gcc make

通过 PECL 安装 Redis 扩展

执行以下命令安装 PHP Redis 扩展(适配 PHP 8.4):

sudo pecl install redis
安装过程中如果出现 enable redis igbinary support? [no] : 等提示,直接按回车使用默认配置即可。

启用 Redis 扩展

安装完成后,需要在 PHP 配置中启用扩展:

# 创建扩展配置文件
sudo sh -c 'echo "extension=redis.so" > /etc/php/8.4/mods-available/redis.ini'

# 启用扩展(CLI和FPM都要启用)
sudo phpenmod -v 8.4 redis

重启 PHP-FPM 和 Nginx

扩展生效需要重启 PHP-FPM(PHP 的 FastCGI 进程管理器)和 Nginx:

# 重启PHP 8.4 FPM
sudo systemctl restart php8.4-fpm

# 重启Nginx
sudo systemctl restart nginx

验证 PHP 与 Redis 的连接

创建一个测试 PHP 文件,验证扩展是否生效且能连接 Redis:

创建测试文件

sudo nano /var/www/html/redis-test.php

写入测试代码

<?php
// 连接本地Redis服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// 测试Redis连接
if ($redis->ping()) {
    echo "✅ Redis连接成功!\n";
    
    // 测试设置和获取值
    $redis->set('test_key', 'Hello Redis!');
    echo "Redis存储的值:" . $redis->get('test_key') . "\n";
} else {
    echo "❌ Redis连接失败!\n";
}

// 查看PHP Redis扩展信息
echo "\n📌 PHP Redis扩展版本:" . phpversion('redis') . "\n";
?>

访问测试文件

通过浏览器访问 http://你的服务器IP/redis-test.php,或在终端执行:

php /var/www/html/redis-test.php

如果输出以下内容,说明安装和配置全部成功:

✅ Redis连接成功!
Redis存储的值:Hello Redis!

📌 PHP Redis扩展版本:x.x.x

总结

  1. 核心步骤:先安装 Redis 服务端(apt install redis-server),再安装 PHP 8.4 Redis 扩展(pecl install redis + 启用扩展),最后重启服务验证。
  2. 关键操作:安装扩展后必须重启php8.4-fpm和 Nginx,否则扩展不会生效。
  3. 验证方式:通过 PHP 代码测试 Redis 连接和数据读写,确认环境适配性。
如果遇到权限、端口等问题,可检查 Redis 配置文件(/etc/redis/redis.conf)或 PHP 扩展加载状态(php -m | grep redis)。
© 版权声明

相关文章

暂无评论

none
暂无评论...