centos7+redis5.0.8生产环境编译安装
本文记录一次线上redis5.0.8编译安装操作。
1.准备工作
-
下载相关软件
-
centos7 x64初始化配置
本文采用SecureCRT连接centos服务器,自行安装。
a. 关闭防火墙
//查看firewall状态 [root@localhost ~]#systemctl list-unit-files|grep firewalld.service //停止firewall [root@localhost ~]#systemctl stop firewalld.service //禁止firewall开机启动 [root@localhost ~]#systemctl disable firewalld.service
b. 关闭SELINUX
//将SELINUX=enforcing改为SELINUX=disabled [root@localhost ~]#vi /etc/selinux/config //设置为permissive模式,临时生效 [root@localhost ~]#setenforce 0
c. 安装上传下载软件:
[root@localhost ~]#yum install lrzsz -y
-
上传安装包
[root@localhost ~]#rz //回车后就可以选择刚才下载的redis安装文件上传,等待完成如下: rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring redis-5.0.8.tar.gz... 100% 1939 KB 1939 KB/sec 00:00:01 0 Errors
2.开始安装
-
tar文件解压
//解压 [root@localhost ~]#tar xf redis-5.0.8.tar.gz //改名 [root@localhost ~]#mv redis-5.0.8 redis //进入目录 [root@localhost ~]#cd redis
-
安装依赖
[root@localhost redis]#yum install gcc tcl -y
-
安装
//编译,早期的一些版本用make MALLOC=libc,不然会报错 [root@localhost redis]#make //安装到/usr/local [root@localhost redis]#make PREFIX=/usr/local/redis install
-
系统配置
//修改sysctl.conf [root@localhost redis]#vi /etc/sysctl.conf //在sysctl.conf添加 net.core.somaxconn = 1024 vm.overcommit_memory = 1 //让配置生效 [root@localhost redis]#sysctl -p //修改rc.local [root@localhost redis]#vi /etc/rc.local //在rc.local添加 echo never > /sys/kernel/mm/transparent_hugepage/enabled //让配置生效 [root@localhost redis]#source /etc/rc.local
-
redis配置
[root@localhost redis]#cp redis.conf /usr/local/redis/6379.conf [root@localhost redis]#vi /usr/local/redis/6379.conf //修改6379.conf如下配置(redis123456为密码示例): daemonize yes requirepass redis123456
-
redis自启动
//创建自启动文件 [root@localhost redis]#vi /etc/rc.d/init.d/redis //启动文件内容如下: #!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. ### BEGIN INIT INFO # Provides: redis_6379 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Redis data structure server # Description: Redis data structure server. See https://redis.io ### END INIT INFO REDISPORT=6379 AUTHPWD=redis123456 EXEC=/usr/local/redis/bin/redis-server CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/usr/local/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 -a $AUTHPWD -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; status) PID=$(cat $PIDFILE) if [ ! -x /proc/${PID} ] then echo 'Redis is not running' else echo "Redis is running ($PID)" fi ;; restart) $0 stop $0 start ;; *) echo "Please use start or stop as first argument" ;; esac //添加到自动管理列表 [root@localhost redis]#chmod +x /etc/rc.d/init.d/redis [root@localhost redis]#chkconfig --add redis [root@localhost redis]#chkconfig redis on
-
配置环境变量
[root@localhost redis]#echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/bashrc [root@localhost redis]#source /etc/bashrc
-
启动
[root@localhost redis]#systemctl start redis
3.测试
//退出到root目录
[root@localhost redis]#cd
//启动redis客户端
[root@localhost ~]#redis-cli
127.0.0.1:6379>keys *
(error) NOAUTH Authentication required.
//密码登陆
127.0.0.1:6379>auth redis123456
127.0.0.1:6379>keys *
(nil)
至此,redis5.0.8安装完毕。那编译后的redis文件能删除吗?答案是可以的。你只要保留/usr/local/redis就可以了。