程序员

linux应用一Redis安装和配置

2018-07-02  本文已影响40人  十二楼中月

1. 环境优化

做如下优化原因:解决redis启动时报错。

vi /etc/sysctl.conf
在文件末尾加上,然后保存
net.core.somaxconn = 2048
vm.overcommit_memory = 1
运行命令使修改生效
/sbin/sysctl -p
vi /etc/rc.local
在文件末尾加上,然后保存
echo never > /sys/kernel/mm/transparent_hugepage/enabled
重启服务器

2. 安装步骤

cd到redis安装包所在文件夹
解压
tar -zxvf redis-3.2.9.tar.gz
安装
cd redis-3.2.9
make MALLOC=libc  解决报错问题
安装,可通过PREFIX指定安装目录
make install PREFIX=/usr/local/redis
将源码中的配置文件拷贝到安装目录bin文件夹
cp /usr/local/src/redis-3.2.9/redis.conf /usr/local/redis/bin/
cp /usr/local/src/redis-3.2.9/sentinel.conf /usr/local/redis/bin/
运行
cd /usr/local/redis/bin
./redis-server redis.conf
停止
cd /usr/local/redis/bin
./redis-cli shutdown
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

解决办法是:
make MALLOC=libc

3. 纯缓存模式下配置说明(其他模式配置,后续学习后再更新)

在缓存模式下Redis不需要存储数据(数据可以从数据库中得到)
#参数,是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码 和bind,可以开启。否则最好关闭,生产服务器设置为yes。 
protected-mode yes

#redis监听的端口号,根据需要设置
port 6379

#指定 redis 只接收来自于本机的该IP对应网卡的请求,如果不进行设置,那么将处理所有请求 
bind 127.0.0.1 #此处需要注意两个ip地址只能使用一个生效,否则会被覆盖掉。
bind 192.168.0.203
#requirepass配置可以让用户使用AUTH命令来认证密码,才能使用其他命令。这让redis可以使用在不受信任的网络中。为了保持向后的兼容性,可以注释该命令,因为大部分用户也不需要认证。使用requirepass的时候需要注意,因为redis太快了,每秒可以认证15w次密码,简单的密码很容易被攻破,所以最好使用一个更复杂的密码。 requirepass redis

# 快照配置 
# 注释掉“save”这一行配置项就可以让保存数据库功能失效 
# 设置redis进行数据库镜像的频率。 
# 900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化) 
# save 900 1
# 300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化) 
# save 300 10
# 60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化) save 300 10 save 60 10000
# save 60 10000
# 缓存模式下可通过以下设置关闭RDB
save ""

#redis配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理。注意slave的输出缓冲区是不计算在maxmemory内的。所以为了防止主机内存使用完,建议设置的maxmemory需要小于服务器剩余内存。 
# 当前配置为最大内存4G,根据服务器实际需要修改
maxmemory 4294967296

#默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。 
# 缓存模式下可通过以下设置关闭appendonly
appendonly no


把daemonize设置为yes 可以后台启动
上一篇下一篇

猜你喜欢

热点阅读