반응형

Linux에 설치

필수 패키지 설치

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

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
undefinedcopy

redis.conf 수정

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

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

Redis 실행

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

Redis 작동 테스트

redis-cli
undefinedcopy
127.0.0.1:6379> ping
PONG
undefinedcopy

Redis 종료

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

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
undefinedcopy

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
undefinedcopy

이슈

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

  • 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
undefinedcopy
# 아래 내용 설정 및 저장
net.core.somaxconn = 4096
undefinedcopy
sudo sysctl -p
undefinedcopy

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

  • 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
undefinedcopy
# 아래 내용 설정 및 저장
vm.overcommit_memory = 1
undefinedcopy
sudo sysctl -p
undefinedcopy

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

  • 문구
    • 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
undefinedcopy
sudo vi /etc/rc.local
undefinedcopy
# 아래 내용 설정 및 저장
echo never > /sys/kernel/mm/transparent_hugepage/enabled
undefinedcopy
sudo reboot 0
undefinedcopy
cat /sys/kernel/mm/transparent_hugepage/enabled

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

참고

반응형

'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