linux学习之路(二)--centos7安装Redis(单点)
一、安装redis
1、进入/usr/local/,新建services目录,进入该目录,下载redis
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
如果没有wget命令,执行
yum -y install wget
进行安装。
2、解压下载好的tar包
tar -xzvf redis-4.0.2.tar.gz
3、编译安装Redis
切换至程序目录:
cd redis-4.0.2
并执行make命令编译:
make
这里可能会报 cc 命令找不到,需要安装gcc:
yum -y install gcc automake autoconf libtool make
再次执行make命令,会报错,需要把文件删掉,重新解压,再运行make命令
make命令成功后,执行安装命令
make install
至此,安装完成。
二、配置redis
1、把redis配置为开机启动,类似于windows的服务,开机启动。
centos下配置随机启动需要在目录/etc/init.d中添加启动脚本,启动脚本的模板在redis源代码目录的utils文件夹中:redis_init_script
#!/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=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.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 ;; 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 ;; *) echo "Please use start or stop as first argument" ;; esac
注意:
第四行和第五行,是我们后加入的。
$EXEC $CONF 代码中变量赋值,exec为redis-server命令路径,conf为配置文件,配置文件为/etc/redis/6379.conf,这个文件还没有,我们下面来配置它:看到里面的start stop命令,应该就非常熟悉了。
2、创建目录/etc/redis。 配置文件的模板还在在redis源码中找:redis-4.0.2/redis.conf,
打开这个文件并修改:
这里贴出关键修改代码:
# 注释掉它,以便让外网访问 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 # 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid daemonize yes # 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis_6379.pid # 指定Redis监听端口,默认端口为6379 # 如果指定0端口,表示Redis不监听TCP连接 port 6379 # 工作目录. # 指定本地数据库存放目录,文件名由上一个dbfilename配置项指定 # # Also the Append Only File will be created inside this directory. # # 注意,这里只能指定一个目录,不能指定文件名 dir /var/redis/6379
最后一行 /var/redis/6379 这个目录还没有,需要我们创建,用于存放redis的持久化文件。
然后执行命令:
#设置开机执行redis脚本 chkconfig redis_6379 on
通过上面的操作后,我们就可以通过 如下命令启动,停止redis了
service redis_6379 start
service redis_6379 stop
3、开放6379端口
(1)查看对外开放的端口状态 查询已开放的端口
netstat -anp
查询指定端口是否已开
firewall-cmd --query-port=6379/tcp
提示 yes,表示开启;no表示未开启。
(2)查看防火墙状态
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
(3)添加指定需要开放的端口:
firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
移除指定端口:
firewall-cmd --permanent --remove-port=123/tcp