CentOS 에서 Redis 데이터베이스 의 기본 설치 및 설정 튜 토리 얼

5983 단어 CentOSRedis
Redis 는 소스 를 오픈 한 다 중 플랫폼 데이터 저장 소프트웨어 로 ANSI C 를 사용 하여 작성 하고 메모리 에서 데이터 세트 를 직접 사용 하여 매우 높 은 효율 을 실현 할 수 있 습 니 다.Redis 는 Lua,C,Java,Python,Perl,PHP 및 기타 많은 언어 를 포함 한 다양한 프로 그래 밍 언어 를 지원 합 니 다.redis 의 코드 양은 매우 작 아서 약 3 만 줄 밖 에 안 됩 니 다.그것 은'적은'일 만 하지만 잘 합 니 다.메모리 에서 일 하지만 데이터 의 지속 적 인 저장 은 있 습 니 다.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.conf
redis.conf 는 redis 설정 파일 이지 만 이 파일 의 이름 은 6379.conf 이 고 이 숫자 는 redis 가 감청 하 는 네트워크 포트 입 니 다.하나 이상 의 redis 인 스 턴 스 를 실행 하려 면 이런 이름 을 사용 하 는 것 을 추천 합 니 다.
예제 의 redis.conf 를/etc/redis/6379.conf 로 복사 합 니 다.

cp redis.conf /etc/redis/6379.conf
현재 이 파일 을 편집 하고 인 자 를 설정 합 니 다.

vi /etc/redis/6379.conf
daemonize
daemonize 를 no 로 설정 합 니 다.systemd 는 프론트 데스크 에서 실행 해 야 합 니 다.그렇지 않 으 면 redis 가 갑자기 끊 깁 니 다.

daemonize no
pidfile
pidfile 을/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"
20151215150107505.jpg (698×429)
스냅 사진
기본적으로 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

좋은 웹페이지 즐겨찾기