반응형
Linux에 설치
필수 패키지 설치
sudo apt-get update \ && sudo apt-get install build-essential pkg-config -yundefinedcopy
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/redisundefinedcopy
- redis.conf 열기
vi /home/ubuntu/redis/redis.confundefinedcopy
- 아래 내용으로 수정
bind 0.0.0.0 # 외부 접속 허용 port 6379 daemonize yes # 아래는 옵셔널 appendonly yes dir /home/ubuntu/redis dbfilename redis.rdb pidfile redis.pid logfile redis.logundefinedcopy
Redis 실행
redis-server /home/ubuntu/redis/redis.conf \ && ps -ef | grep redisundefinedcopy
Redis 작동 테스트
redis-cliundefinedcopy
127.0.0.1:6379> ping PONGundefinedcopy
Redis 종료
redis-cli -p 6379 shutdown \ && ps -ef | grep redisundefinedcopy
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.logundefinedcopy
이슈
[이슈] 서버 실행 후 로그에서 아래 문구 노출
- 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.confundefinedcopy
# 아래 내용 설정 및 저장
net.core.somaxconn = 4096
undefinedcopy
sudo sysctl -pundefinedcopy
[이슈] 서버 실행 후 로그에서 아래 문구 노출
- 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.confundefinedcopy
# 아래 내용 설정 및 저장
vm.overcommit_memory = 1
undefinedcopy
sudo sysctl -pundefinedcopy
[이슈] 서버 실행 후 로그에서 아래 문구 노출
- 문구
- 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.localundefinedcopy
# 아래 내용 설정 및 저장
echo never > /sys/kernel/mm/transparent_hugepage/enabled
undefinedcopy
sudo reboot 0undefinedcopy
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 |