반응형

Linux에 설치

필수 패키지 설치

sudo apt-get update \
&& sudo apt-get install build-essential pkg-config -y

Redis 설치 스크립트

mkdir -p /home/ubuntu/app \
&& cd /home/ubuntu/app \
&& wget https://download.redis.io/releases/redis-6.0.10.tar.gz \
&& tar xvfz redis-*.tar.gz \
&& rm redis-*.tar.gz \
&& ln -s /home/ubuntu/app/redis* redis \
&& cd /home/ubuntu/app/redis \
&& sudo make \
&& sudo make install

redis.conf 수정

  • redis.conf 파일 복사
mkdir -p /home/ubuntu/redis \
&& cp /home/ubuntu/app/redis/redis.conf /home/ubuntu/redis
  • redis.conf 열기
vi /home/ubuntu/redis/redis.conf
  • 아래 내용으로 수정
bind 0.0.0.0 # 외부 접속 허용
port 6379
daemonize yes

# 아래는 옵셔널
appendonly yes
dir /home/ubuntu/redis
dbfilename redis.rdb
pidfile redis.pid
logfile redis.log

Redis 실행

redis-server /home/ubuntu/redis/redis.conf \
&& ps -ef | grep redis

Redis 작동 테스트

redis-cli
127.0.0.1:6379> ping
PONG

Redis 종료

redis-cli -p 6379 shutdown \
&& ps -ef | grep redis

Docker로 설치

docker-compose.yaml

version: "3.3"
volumes:
  redis_data: {}
services:
  redis:
    # container_name: redis
    image: redis:6.0.1
    environment:
      TZ: "Asia/Seoul"
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data/
      - ./config/:/config/
    command:
      - "/bin/sh"
      - "-c"
      - |
        redis-server /config/redis.conf

redis.conf

  • ./config/redis.conf
port 6379
bind 0.0.0.0
appendonly no
daemonize no
dir /data
save 60 1 # 쓰기작업이 60초동안 1번 이상 일어난 경우 redis.rdb에 save
dbfilename redis.rdb
pidfile redis.pid
logfile redis.log

이슈

[이슈] 서버 실행 후 로그에서 아래 문구 노출

  • WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128
sudo vi /etc/sysctl.conf
# 아래 내용 설정 및 저장
net.core.somaxconn = 4096
sudo sysctl -p

[이슈] 서버 실행 후 로그에서 아래 문구 노출

  • WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
sudo vi /etc/sysctl.conf
# 아래 내용 설정 및 저장
vm.overcommit_memory = 1
sudo sysctl -p

[이슈] 서버 실행 후 로그에서 아래 문구 노출

  • 문구
    • WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
  • rc.local 환경 세팅 후 아래 작업 진행
cat /sys/kernel/mm/transparent_hugepage/enabled

# 아래 내용 출력 확인
always [madvise] never
sudo vi /etc/rc.local
# 아래 내용 설정 및 저장
echo never > /sys/kernel/mm/transparent_hugepage/enabled
sudo reboot 0
cat /sys/kernel/mm/transparent_hugepage/enabled

# 아래 내용 출력 확인
always madvise [never]

참고

반응형

'Development > Redis' 카테고리의 다른 글

[Redis] Sentinel  (0) 2020.12.30
[Redis] Master-Slave Replication  (0) 2020.12.30
[Redis] 명령어  (0) 2019.03.11
[Redis] 스프링 연동  (0) 2019.03.10
[Redis] Cluster  (0) 2019.03.09

+ Recent posts