Souce Install REDIS 5 on CentOS 7
레디스 소스 인스톨(컴파일) 설치 가이드
레디스는 메모리 기반의 Key, Value 구조로 데이터를 읽고 쓸 수 있는 인메모리(In-memory) 데이터베이스로 유명합니다. 메모리를 사용하기 때문에 속도가 매우 빠르며 캐쉬(Cache) 서버의 역활로도 많은 사랑을 받고 있습니다. 레디스의 장/단점과 특징들은 공식 페이지를 포함하여 많은 곳에서 확인 할 수 있기 때문에 여기서 다루지는 않겠습니다.
이 가이드에서는 레디스 서버를 단일 노드로 구성하는 방법에 대해 간략하게 알아보도록 하겠습니다.
레디스 설치
의존성 패키지 설치
[root@10-19-11-231 /]# yum -y install gcc gcc-c++ openssl-devel make jemalloc tcl tcl-devel
유저생성
[root@10-19-11-231 /]# useradd -M -r -s /sbin/nologin redis
[root@10-19-11-231 /]# cd /data/apps/dn/ [root@10-19-11-231 dn]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz
압축해제
[root@10-19-11-231 dn]# tar xvzf redis-5.0.5.tar.gz
컴파일
[root@10-19-11-231 dn]# cd redis-5.0.5 [root@10-19-11-231 redis-5.0.5]# make [root@10-19-11-231 redis-5.0.5]# make test [root@10-19-11-231 redis-5.0.5]# make PREFIX=/data/apps/src/redis-5.0.5 install
디렉토리 링크
[root@10-19-11-231 redis-5.0.5]# ln -s /data/apps/src/redis-5.0.5/ /data/apps/ln/redis
환경설정 관련 디렉토리 생성
[root@10-19-11-231 redis-5.0.5]# mkdir /data/apps/ln/redis/conf /data/apps/ln/redis/data /data/apps/ln/redis/logs
환경설정 파일 생성
[root@10-19-11-231 redis-5.0.5]# cp /data/apps/dn/redis-5.0.5/redis.conf /data/apps/ln/redis/conf/redis5.conf
권한 설정
[root@10-19-11-231 redis-5.0.5]# chown redis. -Rf /data/apps/src/redis-5.0.5
환경 설정 파일 수정 – 주요 고정 설정값 (이 외에는 자신의 환경에 맞게 수정)
: vi /data/apps/ln/redis/conf/redis5.conf
daemonize yes supervised systemd logfile "/data/apps/ln/redis/logs/redis.log" dir /data/apps/ln/redis/data/ cluster-enabled no
systemd 생성
: vi /etc/systemd/system/redis.service
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis LimitNOFILE=65535 LimitNPROC=4096 ExecStart=/data/apps/ln/redis/bin/redis-server /data/apps/ln/redis/conf/redis5.conf ExecStop=/data/apps/ln/redis/bin/redis-cli -p 6379 shutdown Restart=always Type=notify [Install] WantedBy=multi-user.target
systemd 활성 및 실행
[root@10-19-11-231 redis-5.0.5]# systemctl enable redis [root@10-19-11-231 redis-5.0.5]# systemctl start redis
커널 파라미터 튜닝
아래는 제가 진행한 커널 파라미터 튜닝 입니다. 절대 값이 아니므로 반드시 본인의 환경에 맞게 수정해 주시기 바랍니다. 해당 가이드는 Redis Administration 와 Start Redis Server 를 참고하였습니다.
: vi /etc/sysctl.conf
vm.swappiness = 1 vm.overcommit_memory = 1 net.core.somaxconn = 4096 net.ipv4.tcp_max_syn_backlog = 4096 vm.max_map_count = 262144
: vi /etc/security/limits.conf
redis soft nofile 65536 redis hard nofile 65536 redis hard nproc 4096 redis soft nproc 4096
: vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@10-19-11-231]# chmod u+x /etc/rc.d/rc.local [root@10-19-11-231]# systemctl start rc-local