安装redis部署

…衆ロ難τιáo~ 提交于 2019-12-29 20:29:28

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

tar /usr/local/-zxvf redis-5.0.0.tar.gz
cd /usr/local/redis-5.0.0
make
cd src
make install
#make MALLOC=libc & make install PREFIX=/usr/local/redis-5.0.0
yum install gcc
rpm -qa |grep gcc查看安装是否成功
让redis开机自启
vim /etc/rc.local 
加入 
/usr/local/redis-5.0.0/bin/redis-server /usr/local/redis-5.0.0/redis-conf


提示错误 make: cc: Command not found make: *** [adlist.o] Error 127
没有安装gcc环境,需要安装gcc
# yum install gcc

Linux下安装Redis文件src找不到redis-server redis-cli,说明还没有安装过redis
make
cd src && make all
报错Error 127,说明未安装gcc,使用命令安装gcc:yum install gcc,

make报错fatal error: jemalloc/jemalloc.h: No such file or directory
1、执行 make distclean
2、则将make改为make MALLOC=libc

nohup /usr/local/redis-5.0.0/src/redis-server >> /usr/local/redis-5.0.0/log/redis.log 2>&1 & 
nohup /usr/local/redis-5.0.0/src/redis-server /usr/local/redis-5.0.0/redis.conf &

/usr/local/app/redis-5.0.3/bin/redis-server /usr/local/app/redis-5.0.3/etc/redis.conf
/usr/local/app/redis-5.0.3/bin/redis-cli -h 192.168.181.130 -p 6379 -a ""

ps -aux | grep redis  查看redis进程

-------------------------------------

编辑redis.conf文件

vi redis.conf
修改
daemonize no  改成yes
bind 127.0.0.1 改成 bind 0.0.0.0
将protected-mode   改为no
logfile "/usr/local/redis-5.0.0/log/redis_service.log"
dbfilename dump.rdb
/usr/local/redis-5.0.0/data
appendonly yes
设置密码
requirepass 123456

关闭保护模式

protected-mode no

-------------------------------------

署好三台
redis-1
redis-2
redis-3

redis配置主从启动两台redis
redis-1    10.0.0.10
redis-2 10.0.0.20

若redis-1为主的话,在redis-2的配置文件中配置
slaveof 10.0.0.10 6379
修改完毕后重启redis即可,重启后可通过登陆进入redis后info查看主从信息。

引入哨兵。
redis-1与redis-2搭建完毕主从后,开始引入哨兵。
哨兵是一个单独的程序,所以需要单独部署它。
若是在其他机器上部署哨兵,那么请用上面的redis安装脚本重新安装一遍redis。
在这里已经部署完毕了
redis-1
redis-2
redis-3
增加哨兵的配置文件。三台redis都需要增加,文件内容这三台一样。
vim /usr/local/redis-5.0.0/sentinel.conf

##sentinel for  10.0.0.10 ,its slave is 10.0.0.20
#master1
port 26383
sentinel monitor master1 10.0.0.10 6379 2
sentinel down-after-milliseconds master1 30000
sentinel failover-timeout master1 900000
sentinel parallel-syncs master1 1
#sentinel auth-pass mymaster 123456  #如果redis集群有密码


启动sentinel服务:
redis-sentine sentinel.conf 

-------------------------------------
手动复制redis.conf到/etc目录下
cp redis.conf /etc

编写自init.d脚本。
内容如下:
#chkconfig: 2345 10 90
#description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
   
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
   
PIDFILE=/var/run/redis.pid
CONF="/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
 

上传到/etc/init.d/目录下,修改权限,可以运行
chmod +x /etc/init.d/redis

设置开机自动启动服务
sudo chkconfig redis on
 
启动服务:
service redis start
停止服务:
service redis stop

配置防火墙打开对应的端口:
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

重启防火墙
service iptables restart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!