centos7搭建单机redis5.0
目录
1. redis初步安装
# 获取redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
#安装gcc
yum install gcc
#把下载好的redis 放在/usr/local/文件夹下,解压
tar zxf redis-5.0.5.tar.gz
mv redis-5.0.5 /usr/local/
# 进入解压后的目录,编译
cd /usr/local/redis-5.0.5/
make
# 进入redis5.0.5/src目录下安装,安装完成验证src目录下是否生成redis-server,redis-cli
cd src
make install
#建立两个文件夹存放redis命令和配置文件
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
# 把redis5.0.5下的redis.conf复制到/usr/local/redis/etc/下
cd ..
cp redis.conf /usr/local/redis/etc/
# 把redis5.0.5/src下面的几个文件放到/usr/local/redis/bin下
cd src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
# 启动并指定配置文件
# 修改配置文件中的#bind 127.0.0.1,protected-mode no,daemonize yes 保存退出
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
# 查看是否启动
ps -ef | grep redis
# 查看是否有redis服务或者查看端口
netstat -tunpl | grep 6379
# 进入redis客户端
/usr/local/redis/bin/redis-cli
# 退出
quit
# 退出redis服务
pkill redis-server
kill 进程号
2. 配置
修改安装目录下的redis.conf文件
vim /usr/local/redis/etc/redis.conf
修改以下配置:
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
3. 设置开机启动(centos6)
3.1 编写启动脚本
vim /etc/init.d/redis
输入下面内容:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_6379.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
然后保存退出
注意:以下信息需要根据安装目录进行调整:
EXEC=/usr/local/redis/bin/redis-server # 执行脚本的地址
REDIS_CLI=/usr/local/redis/bin/redis-cli # 客户端执行脚本的地址
PIDFILE=/var/run/redis_6379.pid # 进程id文件地址
CONF="/usr/local/redis/etc/redis.conf" #配置文件地址
3.2 设置权限
chmod 755 /etc/init.d/redis
3.3 启动测试
service redis start
启动成功会提示如下信息:
service redis stop
service redis restart
3.4 设置开机自启动
# 1. 将redis服务添加到开机自启
chkconfig --add redis
# 2. 设置redis开机自启
chkconfig redis on
# 3. 查看redis 有没有设置为开机启动
chkconfig --list
4. 设置开机启动(centos7)
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装的,yum命令会自动创建redis.service文件,直接用命令systemcel enable redis.service设置开机启动即可。
4.1 在系统服务目录里创建redis.service文件
/lib/systemd/system/redis.service
/etc/systemd/system/redis.service
写入以下内容(注意地址修改)
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf --supervised systemd
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Type=forking
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
配置描述:
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
4.2 系统重载
systemctl daemon-reload
4.3 常用命令
systemctl start redis.service #启动redis服务
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
systemctl status redis.service #查看服务当前状态
systemctl restart redis.service #重新启动服务
systemctl list-units --type=service #查看所有已启动的服务
5. 测试本地连接
redis-cli -h 192.168.0.22 -p 6379
也可以使用RedisDesktopManager测试