安全相关:
创建一个用户 useradd user
修改密码 passwd user
然后用这个用户进行登录
用这个用户启动redis
用root账号将这个用户的权限修改为/sbin/nologin
修改文件是:/etc/passwd 对应的名字:/sbin/nologin
redis的关于save的给注掉,关于config的也给注掉
redis设置登录密码 requirepass xxxx
1.Windows下
下载安装redis
redis-server.exe redis.windows.conf
启动
如果启动失败,
打开redis.windows.conf
搜索max
在 # maxheap
maxheap 1024000000
再次启动即可正常启动
2.linux下
下载最新稳定版redis
wget http://download.redis.io/redis-stable.tar.gz
解压
tar -zxvf redis-stable.tar.gz
进入redis目录
编译
make
这里可能会报 cc 命令找不到,需要安装gcc:yum -y install gcc automake autoconf libtool make再次执行make命令,会报错,需要把文件删掉,重新解压,再运行make命令make命令成功后,执行安装命令
cd src
make install PREFIX=/usr/local/redis
将配置文件移动到redis目录
mv redis.conf /usr/local/redis/etc/
vim /usr/local/redis/etc/redis.conf
使redis后台运行:
将daemonize的值改为yes
首先将配置文件中的bind注释掉(局域网内就可以连接了)
如果需要在外网连接,将protected-model改为no
–启动服务端
./redis-server ../etc/redis.config (启动redis服务要将redis.conf也写进去,同时redis.conf在etc下)
–启动客户端
./redis-cli
安装好redis后如何查看redis 是否启动
先启动redis客户端redis-cli(redis客户端):
redis 127.0.0.1:6379> PING
返回
PONG
(error) NOAUTH Authentication required.
例如密码是‘root’,当出现认证问题时候,输入“auth ‘root’”即可
开机启动:把redis配置为随机启动,类似于windows的服务,开机启动。centos下配置随机启动需要在目录/etc/init.d中添加启动脚本,启动脚本的模板在redis源代码目录的utils文件夹中:redis_init_script我们把这个文件复制到/etc/init.d文件夹中,并重命名为redis_6379, 我们这个服务名也就为redis_6379了,再来看下这个文件的内容:
#!/bin/sh## Simple Redis init.d script conceived to work on Linux systems# chkconfig: 2345 90 10# description: Redis is a persistent key-value database# as it does use of the /proc filesystem.REDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/etc/redis/${REDISPORT}.conf"case "$1" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."$EXEC $CONFfi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."$CLIEXEC -p $REDISPORT shutdownwhile [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1doneecho "Redis stopped"fi;;*)echo "Please use start or stop as first argument";;esac
注意:第四行和第五行,是我们后加入的。$EXEC $CONF 代码中变量赋值,exec为redis-server命令路径,conf为配置文件,配置文件为/etc/redis/6379.conf,这个文件还没有,我们下面来配置它:看到里面的start stop命令,应该就非常熟悉了。注意start命令中,执行的启动命令为创建目录/etc/redis。 配置文件的模板还在在redis源码中找:redis-4.0.2/redis.conf将这个配置文件复制到/etc/redis目录 ,并重命名为6379.conf。打开这个文件并修改:这里贴出关键修改代码:# 注释掉它,以便让外网访问# bind 127.0.0.1# 关闭保护模式protected-mode no# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.piddaemonize yes# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis_6379.pid# 指定Redis监听端口,默认端口为6379# 如果指定0端口,表示Redis不监听TCP连接port 6379#requirepass配置可以让用户使用AUTH命令来认证密码,才能使用其他命令。这让redis可以使用在不受信任的网络中。为了保持向后的兼容性,可以注释该命令,因为大部分用户也不需要认证。使用requirepass的时候需要注意,因为redis太快了,每秒可以认证15w次密码,简单的密码很容易被攻破,所以最好使用一个更复杂的密码# requirepass foobared# 工作目录.# 指定本地数据库存放目录,文件名由上一个dbfilename配置项指定## Also the Append Only File will be created inside this directory.## 注意,这里只能指定一个目录,不能指定文件名dir /var/redis/6379最后一行 /var/redis/6379 这个目录还没有,需要我们创建,用于存放redis的持久化文件。然后执行命令:通过上面的操作后,我们就可以通过 如下命令启动,停止redis了service redis_6379 stopservice redis_6379 start
