先进入到redis的官网,下载redis安装包

wget http://download.redis.io/releases/redis-3.0.5.tar.gz

放到/usr/local/src目录下

$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz

$ tar xzf redis-3.0.5.tar.gz

$ cd redis-3.0.5

$ make

(make MALLOC=libc)

安装成功以后,运行redis-server & 使用redis数据库在后台运行,如果没有报错,那就证明redis数据库安装成功.

这时输入命令redis-cli对数据库发起链接,就可以对redis数据库做简单的测试了

关闭redis服务的方法,可以采用ps|redis的方式找到pid,然后通过kill -9 pid的方式关闭redis服务

启动redis-server的时候,一直会有两个警告消息

# WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

解决方法:

echo 'vm.overcommit_memory = 1' >>/etc/sysctl.conf

sysctl -p

WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

解决方法:

(1)echo never > /sys/kernel/mm/transparent_hugepage/enabled

(2)在/etc/rc.local文件中写入

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

将src下的redis-server、redis-cli 移到 /usr/local/redis文件夹下,并在该文件夹下建一个etc目录,将redis.conf移过来。

然后启动redis-server

./redis-server ./etc/redis.conf &

./redis-cli 连接并测试

redis> set foo bar

OK

redis> get foo

"bar"

php-redis的下载地址为:https://github.com/phpredis/phpredis/archive/develop.zip

wget https://github.com/phpredis/phpredis/archive/develop.zip

下载完后也放到/usr/local/src目录下

unzip develop.zip

cd /usr/local/src/phpredis-develop

/usr/local/bin/phpize

./configure --with-php-config=/usr/local/bin/phpize

make

make install

在php.ini文件中增加

[redis]

extension=redis.so

重启php-fpm服务

service php-fpm stop

service php-fpm start

然后再查看一下phpinfo即可。

9.测试php redis扩展是否成功安装:

#test_redis.php

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$redis->set('f','are you ok?');

echo $redis->get('f');

?>

http://服务器地址/test_redis.php

如果能出现 are you ok? 就说明全都已经安装成功。

内核参数overcommit_memory

它是 内存分配策略

可选值:0、1、2。

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

什么是Overcommit和OOM

Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。

当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。

解决方法:

很简单,按提示的操作(将vm.overcommit_memory 设为1)即可:

有三种方式修改内核参数,但要有root权限:

(1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效

(2)sysctl vm.overcommit_memory=1

(3)echo 1 > /proc/sys/vm/overcommit_memory

1:从RedHat 6, OEL 6, SLES 11 and UEK2 kernels 开始,系统缺省会启用 Transparent HugePages :用来提高内存管理的性能透明大页(Transparent HugePages )和之前版本中的大页功能上类似。主要的区别是:Transparent HugePages 可以实时配置,不需要重启才能生效配置;

2:Transparent Huge Pages在32位的RHEL 6中是不支持的。

Transparent Huge Pages are not available on the 32-bit version of RHEL 6.

3: ORACLE官方不建议我们使用RedHat 6, OEL 6, SLES 11 and UEK2 kernels 时的开启透明大页(Transparent HugePages ), 因为透明大页(Transparent HugePages ) 存在一些问题:

1.在RAC环境下 透明大页(Transparent HugePages )会导致异常节点重启,和性能问题;

2.在单机环境中,透明大页(Transparent HugePages ) 也会导致一些异常的性能问题;

vim /etc/init.d/redis

#/bin/sh

#Configurations injected by install_server below....

EXEC=/usr/local/redis/redis-server

CLIEXEC=/usr/local/redis/redis-cli

PIDFILE=/var/run/redis.pid

CONF="/usr/local/redis/etc/redis.conf"

REDISPORT="6379"

###############

# SysV Init Information

# chkconfig: - 58 74

# description: redis_6379 is the redis daemon.

### BEGIN INIT INFO

# Provides: redis_6379

# Required-Start: $network $local_fs $remote_fs

# Required-Stop: $network $local_fs $remote_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Should-Start: $syslog $named

# Should-Stop: $syslog $named

# Short-Description: start and stop redis_6379

# Description: Redis daemon

### END INIT INFO

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 shutdown

while [ -x /proc/${PID} ]

do

echo "Waiting for Redis to shutdown ..."

sleep 1

done

echo "Redis stopped"

fi

;;

status)

if [ ! -f $PIDFILE ]

then

echo 'Redis is not running'

else

echo "Redis is running ($(

fi

;;

restart)

$0 stop

$0 start

;;

*)

echo "Please use start, stop, restart or status as first argument"

;;

esac

保存该文件后需要重启服务器才能生效

'staff' 组则通常为 help-desk/junior sysadmins, 允许成员在 /usr/local 目录下操作, 和在 /home 目录下创建目录.

debian php redis,debian7.7环境下 源码安装redis以及phpredis扩展相关推荐

  1. Centos 7环境下源码安装PostgreSQL数据库

    马上就要去实习了,工作内容是搞数据仓库方面的,用的是postgresql关系型数据库,于是自己先来了解下这种数据的用法,之后说说这个数据库和MySQL的关系和区别. 1.Postgresql简介 看了 ...

  2. 在Debian64环境下源码安装newLisp v10.6.0

    为什么80%的码农都做不了架构师?>>>    起因:官方网站上没有适合Debian64的二进制安装包,用源码包直接make时会失败,这里给出解决方法. 1,从官网(http://w ...

  3. linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  4. Linux下源码安装CodeBlocks

    Linux下源码安装CodeBlocks qianghaohao(CodingNutter) 一. 安装平台说明: CentOs6.4-i686  gcc-4.4.7 二. 下载最新源码: http: ...

  5. rhel 7.2 安装mysql_在rhel7.2下源码安装mysql-5.6.35

    如何在一台新机rhel7.2下源码安装mysql-5.6.35 一.前期准备工作 1.首先安装依赖包,避免在安装过程中出现问题 yum -y install gcc gcc-c++ cmake ncu ...

  6. centos7源码安装mysql报错_CentOS7 下源码安装MySQL数据库 8.0.11

    本文主要向大家介绍了CentOS7 下源码安装MySQL数据库 8.0.11,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. CentOS7 下源码安装MySQL 8.0.11 系 ...

  7. linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  8. unbuntu cmake安装mysql_Ubuntu下源码安装MySQL-5.5.25a

    Ubuntu下源码安装MySQL-5.5.25a,今天在Ubuntu Linux下本来玩玩Android的源码看下的.那小的怎看根目录的空间已然不多.所以想把 今天在Ubuntu Linux下本来玩玩 ...

  9. 阿里云服务器——centos7下源码安装tomcat9

    阿里云服务器--centos7下源码安装tomcat9 (第一次写文章,俺会努力的) 首先进入src文件夹: cd /usr/local/src 使用wget命令下载tomcat : wget htt ...

最新文章

  1. 果断收藏!一张版图带你摸清全球10大自动驾驶联盟布局
  2. 【java项目实战】代理模式(Proxy Pattern),静态代理 VS 动态代理
  3. python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
  4. 【hadoop】有参考价值的博客整理
  5. mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书
  6. 苹果好还是华为好_苹果手机好还是华为手机好?专业手机测评师给出答复!
  7. 一文详解Matlab中Psychtoolbox工具箱的安装方法
  8. 干货!NB-IoTLoRa物联网项目实操来了!
  9. ArcGIS地形图地理配准
  10. python网页编辑器-网页python编辑
  11. win10联机玩红警2
  12. 用c语言编写计算器计划报告书,用c语言编写计算器计划报告书.docx
  13. DlhSoft Kanban,WPF 的看板组件
  14. QGIS之十三矢量化电子地图并矩形化
  15. 21天学习之二(Android 10.0 SystemUI默认去掉底部导航栏的三种方法)
  16. 文件被其他程序占用及解决方法
  17. 淘宝新店被人举报盗图要扣分处理办法
  18. 传真存储转发工作过程
  19. 同桌的你1080pHD国语中字_马立杰_新浪博客
  20. GC_CONCURRENT freed 循环不停打印日志

热门文章

  1. ubuntu开机启动管理
  2. gentoo emerge安装软件
  3. python reshape transpose
  4. 用 Python 和 OpenCV 来测量相机到目标的距离
  5. 青龙面板跑滴滴果园,5天种水果。
  6. linux 邮件客户端 n1,N1:下一代开源邮件客户端
  7. php中接口调用方法的区别,phpcms常用接口调用方法
  8. JAVA计算应缴住房基金,事业单位的住房基金如何核算?
  9. java quartz 时间配置文件_Spring Quartz如何动态配置时间(3)
  10. go语言学习,channel消费者和生产者