본문 바로가기

카테고리 없음

[draft] 우분투 22.04에서 Redis 소스 코드 컴파일 설치하는 방법

반응형

우분투 22.04에서 Redis 소스 코드 컴파일 설치하는 방법

테스트 환경

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jamm

Redis 소스 다운로드 및 컴파일

작업 디렉토리

cd /usr/local/src

소스 다운로드

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

압축 해제

tar xfz redis-6.2.7.tar.gz
cd redis-6.2.7

컴파일

make
$ make
...
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    CC cli_common.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/usr/local/src/redis-6.2.7/src'

(선택) 테스트 실행

make test

바이너리 설치

sudo make install
$ sudo make install
cd src && make install
make[1]: Entering directory '/usr/local/src/redis-6.2.7/src'
    CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)

    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
make[1]: Leaving directory '/usr/local/src/redis-6.2.7/src'

설치 후 버전 확인

  • redis-server 버전
/usr/local/bin/redis-server --version
Redis server v=6.2.7 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=222518f6c635ef61
  • redis-cli 버전
/usr/local/bin/redis-cli --version
redis-cli 6.2.7

Redis 실행 환경 디렉터리 생성

설정 파일 복사

sudo mkdir -pv /var/lib/redis
sudo mkdir -pv /var/log/redis
sudo mkdir -pv /etc/redis

설정 파일 복사

sudo cp /usr/local/src/redis-6.2.7/redis.conf /etc/redis/redis.conf

Redis 설정 (redis.conf)

sudo vim /etc/redis/redis.conf
bind 0.0.0.0
port 6379

dir /var/lib/redis
daemonize yes

# 클러스터 설정
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 3000

# 퍼시스턴스
appendonly yes
appendfilename "appendonly.aof"

# 프로세스 & 로그
pidfile /var/run/redis.pid
logfile "/var/log/redis/redis-6381.log"

Redis 권장 시스템 설정 (경고 해결)

Redis 실행 시 나타날 수 있는 경고 메시지를 방지하기 위해 시스템 튜닝이 필요합니다.

 

TCP backlog 경고

echo "net.core.somaxconn = 65536" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Overcommit Memory 경고

echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Transparent Huge Pages(THP) 경고

echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.local

Redis 실행 및 종료

서버 시작

/usr/local/bin/redis-server /etc/redis/redis.conf

서버 종료

ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs sudo kill -9

동작 확인

redis-cli -h 127.0.0.1 -p 6379 ping

정상적으로 실행되면 다음과 같은 응답을 확인할 수 있습니다.

PONG

 

참고URL

- 변군이글루 블로그 : CentOS 7에서 레디스를 설치하는 방법

- 변군이글루 블로그 : redis 모니터링 툴(redis-stat)

- 변군이글루 블로그 : CentOS 7에서 최신 버전의 Redis를 설치하는 방법

- 변군이글루 블로그 : 레디스 설치 후 경고 메시지 처리

- 변군이글루 블로그 : Docker를 사용하여 Redis 클러스터(predixy)를 설정하는 구성하는 방법

 

반응형