Centos 下編譯安裝Redis

文章來源:https://segmentfault.com/a/1190000003084917php

 

安裝環境說明:

操做系統:Centos 6.5 -64bitmysql

安裝路徑:/usr/local/redisredis

Redis官網:https://redis.io/downloadsql

開始編譯redis

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

Redis配置vim

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/

調整下內存分配使用方式並使其生效segmentfault

#此參數可用的值爲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/redisbash

#!/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/etc/rc.d/init.d/redis

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文件tcp

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-fpmphp-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');

結果截圖( 成功輸出了緩存值 ):

 

總結

還沒想好....................

相關文章
相關標籤/搜索