CentOS 에서 Redis 데이터베이스 의 기본 설치 및 설정 튜 토리 얼
Redis 구축
redis 는 현재 공식 RPM 설치 패키지 가 없습니다.원본 코드 에서 컴 파일 해 야 합 니 다.컴 파일 하기 위해 서 는 Make 와 GCC 를 설치 해 야 합 니 다.
GCC 와 Make 가 설치 되 어 있 지 않 으 면 yum 으로 설치 합 니 다.
yum install gcc make
홈 페이지 에서 tar 압축 패 키 지 를 다운로드 하 다.
curl http://download.redis.io/releases/redis-3.0.4.tar.gz -o redis-3.0.4.tar.gz
압축 을 풀다.
tar zxvf redis-3.0.4.tar.gz
압축 해제 후 디 렉 터 리 에 들 어 갑 니 다.
cd redis-3.0.4
Make 컴 파일 원본 파일 을 사용 합 니 다.
make
설치 하 다.원본 파일 의 디 렉 터 리 에 들 어 갑 니 다.
cd src
Redis 의 서버 와 클 라 이언 트 를/usr/local/bin 으로 복사 합 니 다.
cp redis-server redis-cli /usr/local/bin
sentinel,benchmark,check 도 복사 하 는 것 이 좋 습 니 다.
cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin
redis 설정 폴 더 를 만 듭 니 다.
mkdir /etc/redis
/var/lib/redis 에서 데 이 터 를 효과적으로 저장 할 디 렉 터 리 를 만 듭 니 다.
mkdir -p /var/lib/redis/6379
시스템 매개 변수redis 가 정상적으로 작 동 하도록 커 널 파 라 메 터 를 설정 해 야 합 니 다.
vm.over commit 설정memory 는 1 입 니 다.데이터 가 차단 되 는 것 을 피 할 수 있 습 니 다.자세 한 내용 은 이 를 참조 하 십시오.
sysctl -w vm.overcommit_memory=1
backlog 연결 수의 최대 값 이 redis.conf 의 tcp-backlog 값,즉 기본 값 511 을 초과 합 니 다.kernel.org 에서 sysctl 기반 ip 네트워크 터널 에 대한 정 보 를 더 찾 을 수 있 습 니 다.
sysctl -w net.core.somaxconn=512
투명 한 큰 페이지 메모리(transparent huge pages)에 대한 지원 을 취소 합 니 다.이것 은 redis 사용 과정 에 지연 과 메모리 접근 문 제 를 일 으 킬 수 있 기 때 문 입 니 다.
echo never > /sys/kernel/mm/transparent_hugepage/enabled
redis.confredis.conf 는 redis 설정 파일 이지 만 이 파일 의 이름 은 6379.conf 이 고 이 숫자 는 redis 가 감청 하 는 네트워크 포트 입 니 다.하나 이상 의 redis 인 스 턴 스 를 실행 하려 면 이런 이름 을 사용 하 는 것 을 추천 합 니 다.
예제 의 redis.conf 를/etc/redis/6379.conf 로 복사 합 니 다.
cp redis.conf /etc/redis/6379.conf
현재 이 파일 을 편집 하고 인 자 를 설정 합 니 다.
vi /etc/redis/6379.conf
daemonizedaemonize 를 no 로 설정 합 니 다.systemd 는 프론트 데스크 에서 실행 해 야 합 니 다.그렇지 않 으 면 redis 가 갑자기 끊 깁 니 다.
daemonize no
pidfilepidfile 을/var/run/redis 로 설정 합 니 다.6379.pid。
pidfile /var/run/redis_6379.pid
port기본 포트 를 사용 할 준비 가 되 어 있 지 않 으 면 수정 할 수 있 습 니 다.
port 6379
loglevel로그 단 계 를 설정 합 니 다.
loglevel notice
logfile로그 파일 경 로 를 수정 합 니 다.
logfile /var/log/redis_6379.log
dir디 렉 터 리 를/var/lib/redis/6379 로 설정 합 니 다.
dir /var/lib/redis/6379
안전 하 다.다음은 안전성 을 향상 시 킬 수 있 는 몇 가지 조작 이 있다.
Unix sockets
많은 경우 클 라 이언 트 프로그램 과 서버 엔 드 프로그램 이 같은 기계 에서 실행 되 기 때문에 네트워크 의 socket 을 감청 할 필요 가 없습니다.이것 이 당신 의 사용 상황 과 유사 하 다 면,네트워크 socket 대신 유 닉 스 socket 을 사용 할 수 있 습 니 다.이 를 위해 서 는 port 를 0 으로 설정 한 다음,아래 옵션 을 설정 하여 유 닉 스 socket 을 사용 해 야 합 니 다.
유 닉 스 socket 의 소켓 파일 을 설정 합 니 다.
unixsocket /tmp/redis.sock
socket 파일 의 권한 을 제한 합 니 다.
unixsocketperm 700
현재 redis-cli 에 접근 할 수 있 도록-s 매개 변 수 를 사용 하여 이 socket 파일 을 가리 키 도록 해 야 합 니 다.
redis-cli -s /tmp/redis.sock
requirepass원 격 접근 이 필요 할 수도 있 습 니 다.만약 그렇다면 비밀 번 호 를 설정 해 야 합 니 다.이렇게 매번 조작 하기 전에 비밀 번 호 를 입력 해 야 합 니 다.
requirepass "bTFBx1NYYWRMTUEyNHhsCg"
rename-command다음 명령 의 출력 을 상상 해 보 세 요.예,서버 설정 을 출력 할 수 있 으 므 로 가능 한 한 이 접근 을 거부 해 야 합 니 다.
CONFIG GET *
이 명령 이나 다른 명령 을 제한 하기 위해 rename-command 명령 을 사용 할 수 있 습 니 다.명령 이름과 대체 이름 을 제공 해 야 합 니 다.금지 하려 면 대체 이름 을 빈 문자열 로 설정 해 야 합 니 다.명령 의 이름 을 추측 하지 못 하 게 하 는 것 이 안전 합 니 다.
rename-command FLUSHDB "FLUSHDB_MY_SALT_G0ES_HERE09u09u"
rename-command FLUSHALL ""
rename-command CONFIG "CONFIG_MY_S4LT_GO3S_HERE09u09u"
스냅 사진
기본적으로 redis 는 우리 가 설정 한 디 렉 터 리 에 있 는 dump.rdb 파일 에 데이터 세트 를 주기 적 으로 저장 합 니 다.save 명령 을 사용 하여 덤 프 빈 도 를 설정 할 수 있 습 니 다.첫 번 째 매개 변 수 는 초 단위 의 시간 프레임 이 고 두 번 째 매개 변 수 는 데이터 파일 에서 수정 한 수량 입 니 다.
15 분 간격 으로 최소한 한 번 씩 키 를 수정 한 적 이 있다.
save 900 1
5 분 간격 으로 최소 10 번 의 키 를 수정 한 적 이 있다.
save 300 10
1 분 간격 으로 최소 10000 번 의 키 를 수정 한 적 이 있다.
save 60 10000
파일/var/lib/redis/6379/dump.rdb 는 지난번 에 저 장 된 메모리 데이터 세트 의 덤 프 데 이 터 를 포함 하고 있 습 니 다.임시 파일 을 만 들 고 이전 덤 프 파일 을 교체 하기 때문에 데이터 파괴 문제 가 존재 하지 않 습 니 다.걱정 하지 마 세 요.이 파일 을 직접 복사 할 수 있 습 니 다.시동 을 걸다
시스템 시작 목록 에 시스템 d 를 사용 하여 redis 를 추가 할 수 있 습 니 다.
예제 의 init 복사script 파일 은/etc/init.d 로 가서 스 크 립 트 이름 이 대표 하 는 포트 번 호 를 주의 하 십시오.
cp utils/redis_init_script /etc/init.d/redis_6379
현재 우 리 는 systemd 를 사용 해 야 하기 때문에/etc/systems/system 아래 에 단위 파일 이름 을 redis 로 만 듭 니 다.6379.service。
vi /etc/systemd/system/redis_6379.service
아래 내용 을 작성 하면 자세 한 내용 은 systemd.service 를 볼 수 있 습 니 다.
[Unit]
Description=Redis on port 6379
[Service]
Type=forking
ExecStart=/etc/init.d/redis_6379 start
ExecStop=/etc/init.d/redis_6379 stop
[Install]
WantedBy=multi-user.target
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.