redis-cli
입력시 자동으로 접속할 수 있는 alias 추가sh install_redis 7.0.8
#!
으로 시작해야 함/var/log/cloud-init-output.log
에서 확인 가능#!/usr/bin/env bash
# 압축파일 다운로드를 위해 wget 설치
sudo yum -y install wget
# redis dependency library 설치
# - 컴파일 관련 파이브러리 설치
sudo yum -y install gcc make gcc-c++ clang
# - python3 설치
sudo yum -y install python3
# - jemalloc 설치
sudo yum -y install epel-release
sudo yum -y install varnish
# command line argument의 수가 1이 아닌 경우 종료
if [ $# -ne 1 ]
then
echo "Usage: sh $0 version"
exit 1
fi
# command line argument로 입력받은 다운로드할 mysql의 버전
version=$1
# 다운로드할 redis 파일 이름
filename=redis-$version
# 압축파일을 다운로드 할 경로 지정
cd /home/centos
# 지정한 버전의 redis 압축 파일 다운로드하고 로그 저장
wget -a wget-log https://download.redis.io/releases/$filename.tar.gz
# 다운로드가 정상적으로 수행되었는지 확인
error=`tail -3 wget-log | grep ERROR`
rm wget-log
# 오류 발생 시 오류 메세지를 출력하고 종료
if [ -n "${error}" ]; then
echo "${error}"
exit 1
fi
# 압축 풀기
tar xvf $filename.tar.gz
# 압축 파일 제거
rm $filename.tar.gz
# redis 디렉토리 내부로 이동
cd $filename
# redis/deps 디렉토리 내부의 의존성 파일을 컴파일
cd deps
make *
cd ..
# redis 컴파일
make
# redis 서버를 background로 실행하도록 설정
sed -i 's/daemonize no/daemonize yes/g' redis.conf
# redis 서버 메세지를 로그 파일로 저장하기
sed -i 's/logfile ""/logfile '$filename'/redis.log/g' redis.conf
# maxclients 설정값 변경
sed -i '/# maxclients 10000/a\maxclients 4064' redis.conf
# tcp backlog 설정값 변경
sudo sed -i '$anet.core.somaxconn = 4096' /etc/sysctl.conf
sudo sysctl net.core.somaxconn=4096
# memory overcommit 설정 변경
sudo sed -i '$avm.overcommit_memory = 1' /etc/sysctl.conf
sudo sysctl vm.overcommit_memory=1
# PATH 설정
sudo sed -i '$aPATH="$PATH:/home/centos/'$filename'/src"' /etc/profile
source /etc/profile
# redis server 실행
$filename/src/redis-server $filename/redis.conf
# redis client 실행
$filename/src/redis-cli
인스턴스에서 직접 스크립트를 실행한 경우
...
NHN Cloud 사용자 스크립트를 사용한 경우
wget
에서 spider 옵션을 사용하면 다운로드를 시도하지 않고 링크가 잘못되었는지 확인 가능하다.