CentOS7安装Redis

安装Redis,并使用PHP连接Redis

一、准备工作

1、安装LNMP

参考:搭建LNMP服务器-CSDN博客文章浏览阅读876次,点赞14次,收藏4次。LNMP 架构通常用于构建高性能、可扩展的 Web 应用程序。Nginx 作为前端 Web 服务器,负责处理 HTTP 请求和响应,并将请求代理到后端 PHP 应用程序(通过 FastCGI、PHP-FPM 等)。PHP 应用程序与 MySQL数据库进行交互,以存储和检索数据。https://blog.csdn.net/weixin_44295677/article/details/138958399?spm=1001.2014.3001.5501

二、安装Redis

1、下载Redis二进制包
bash 复制代码
wget https://download.redis.io/releases/redis-5.0.12.tar.gz
2、解压
bash 复制代码
tar -zxvf redis-5.0.12.tar.gz
mv redis-5.0.12 /opt/redis
3、编译安装

3.1 编译

bash 复制代码
cd /opt/redis
make

3.2 安装

bash 复制代码
make install

3.3 初始化redis

bash 复制代码
# cd utils/

# ./install-server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/opt/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /opt/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
4、修改配置文件

1、修改配置

bash 复制代码
vi /opt/redis/redis.conf

# 修改如下内容
# bind 127.0.0.1
bind 0.0.0.0
# 配置密码
requirepass your_password

2、修改启动脚本

bash 复制代码
vi /etc/init.d/redis_6379


EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.conf"
REDISPORT="6379"
# 添加密码变量,密码需要和配置文件中设置的一致
PASSWORD="final123"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
            echo "$PIDFILE exists, process is already running or crashed"
        else
            echo "Starting Redis server..."
            $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
            echo "$PIDFILE does not exist, process is not running"
        else
            PID=$(cat $PIDFILE)
            echo "Stopping ..."
            # 添加密码认证
            $CLIEXEC -p $REDISPORT -a $PASSWORD shutdown
            while [ -x /proc/${PID} ]
            do
                echo "Waiting for Redis to shutdown ..."
                sleep 1
            done
            echo "Redis stopped"
        fi
        ;;
    status)
        PID=$(cat $PIDFILE)
        if [ ! -x /proc/${PID} ]
        then
            echo 'Redis is not running'
        else
            echo "Redis is running ($PID)"
        fi
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Please use start, stop, restart or status as first argument"
        ;;
esac
5、启动服务
bash 复制代码
/etc/init.d/redis_6379 start
# 支持stop、restart、status
6、测试
bash 复制代码
# 登录redis服务
[root@localhost opt]# redis-cli 
127.0.0.1:6379> auth password
OK

三、安装PHP-Redis

1、安装依赖包
bash 复制代码
yum -y install php-devel
2、下载二进制安装包
bash 复制代码
下载地址:
https://github.com/phpredis/phpredis/releases/tag/6.0.2
3、解压
bash 复制代码
tar -zxvf phpredis-6.0.2.tar.gz
4、执行phpize
bash 复制代码
cd phpredis-6.0.2/
mkdir -p /opt/php-redis/

phpize
5、编译三部曲

5.1 执行编译脚本

bash 复制代码
# --with-php-config 获取php配置信息,以方便正确编译和链接到PHP
./configure --prefix=/opt/php-redis/ --with-php-config=/opt/php/bin/php-config

5.2 编译

bash 复制代码
make

5.3 安装

bash 复制代码
make install
6、修改php配置文件
bash 复制代码
vi /opt/php/lib/php.ini

# 添加如下内容
## 可以通过 find / -name "redis.so" 查找到所在路径
extension_dir="/opt/php/lib/php/extensions/no-debug-non-zts-20180731/"
extension=redis.so
7、重启php服务
bash 复制代码
systemctl restart php-frm.service

四、测试

1、编写测试脚本
bash 复制代码
vi /opt/www/php/redis.php

<?php
$redis = new redis();
$redis->connect("REDIS_IP","6379");
$redis->auth("YOUR_PASSWORD");
$redis->set("TEST","TEST-REDIS");
echo $redis->get("TEST");
?>
2、浏览器访问测试
相关推荐
十碗饭吃不饱25 分钟前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
我是Superman丶1 小时前
【优化】Mysql指定索引查询或忽略某个索引
数据库·mysql
程序定小飞1 小时前
基于springboot的在线商城系统设计与开发
java·数据库·vue.js·spring boot·后端
呆呆小金人1 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
LL_break1 小时前
Mysql数据库
java·数据库·mysql
野犬寒鸦1 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
倔强的石头_2 小时前
面向大数据架构的演进:为何 Apache IoTDB 是与生态无缝融合的理想之选?
数据库
problc2 小时前
PostgreSQL + Redis + Elasticsearch 实时同步方案实践:从触发器到高性能搜索
redis·elasticsearch·postgresql
Elastic 中国社区官方博客3 小时前
如何减少 Elasticsearch 集群中的分片数量
大数据·数据库·elasticsearch·搜索引擎·全文检索
Logintern093 小时前
只有通过Motor 获取 mongodb的collection,才能正常使用 async with collection.watch()监听集合变更
数据库·mongodb