Centos 下编译安装Redis

本文详细介绍了在CentOS 6.5环境下从源码编译安装Redis的方法,包括环境搭建、配置调整、服务脚本创建及开机自启动设置。同时,还涉及了PHP Redis扩展的安装与配置,确保Web应用能顺利使用Redis作为缓存。

文章来源:https://segmentfault.com/a/1190000003084917

 

安装环境说明:

操作系统:Centos 6.5 -64bit

安装路径:/usr/local/redis

Redis官网:https://redis.io/download

开始编译redis

tar -zxvf redis-2.8.19.tar.gz 
cd redis-2.8.19 make make PREFIX=/usr/local/redis install

Redis配置

mkdir /usr/local/redis/etc/
cp redis.conf /usr/local/redis/etc/ cd /usr/local/redis/bin/ cp redis-benchmark redis-cli redis-server /usr/bin/

调整下内存分配使用方式并使其生效

#此参数可用的值为0,1,2 
#0表示当用户空间请求更多的内存时,内核尝试估算出可用的内存 
#1表示内核允许超量使用内存直到内存用完为止 
#2表示整个内存地址空间不能超过swap+(vm.overcommit_ratio)%的RAM值 echo "vm.overcommit_memory=1">>/etc/sysctl.conf sysctl -p

修改redis配置

vim /usr/local/redis/etc/redis.conf

# 修改一下配置
# redis以守护进程的方式运行
# no表示不以守护进程的方式运行(会占用一个终端)  
daemonize yes

# 客户端闲置多长时间后断开连接,默认为0关闭此功能 timeout 300 # 设置redis日志级别,默认级别:notice loglevel verbose # 设置日志文件的输出方式,如果以守护进程的方式运行redis 默认:"" # 并且日志输出设置为stdout,那么日志信息就输出到/dev/null里面去了 logfile stdout

redis环境变量配置

vim /etc/profile
export PATH="$PATH:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/redis/bin"
# 保存退出 # 让环境变量立即生效 source /etc/profile

Redis 启动脚本

vi /etc/rc.d/init.d/redis

#!/bin/bash
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem. PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server REDIS_CLI=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis.pid CONF="/usr/local/redis/etc/redis.conf" 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 if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $REDIS_CLI -p $REDISPORT SHUTDOWN while [ -x ${PIDFILE} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac

Redis开机自启动配置

# 给脚本增加运行权限
chmod +x /etc/rc.d/init.d/redis

# 查看服务列表
chkconfig --list

# 添加服务 chkconfig --add redis # 配置启动级别 chkconfig --level 2345 redis on

Redis 启动、停止测试

service redis start   #或者 /etc/init.d/redis start  
service redis stop   #或者 /etc/init.d/redis stop # 查看redis进程 ps -el|grep redis # 端口查看 netstat -an|grep 6379

Redis 防火墙配置

# 打开防火墙规则
vim /etc/sysconfig/iptables

# 增加内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT # 重启火墙规则立即生效 service iptables restart 

安装PHP Redis 扩展包

unzip phpredis-develop.zip
cd phpredis-develop

# 生成扩展配置
/usr/local/php/bin/phpize

# 编译Redis ./configure --with-php-config=/usr/local/php/bin/php-config make make install # 安装完成,返回模块所在路径 /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

配置PHP支持redis

编辑php.ini文件

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

# 修改以下内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/" # 增加扩展到php extension = redis.so

重新启动php-fpm

/etc/init.d/php-fpm restart

在php测试下是否成功

<?php
$redis = new Redis();
$redis->connect('192.168.25.129', 6379); $redis->set('key', 'test'); echo $redis->get('key');

结果截图( 成功输出了缓存值 ):

 

总结

还没想好....................

转载于:https://www.cnblogs.com/doseoer/p/7016509.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值