본문 바로가기

KnowHow/Server Apps

CentOS 에서 Redis 설치하기

작성자 : Deok

간단히 CentOS 에서 yum 을 이용하지 않고 Redis 를 설치하는 방법입니다. ( 공홈에도 나와 있는 방법 )


URL : https://redis.io/topics/quickstart




1. Redis 컴파일하기


우선 아래의 명령어로 Stable 버전을 받으신 후 압축을 푸시기 바랍니다. 그리고 make 로  컴파일을 하려 하면... 약 99%의 확률로 에러가 납니다.

$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make


일단 gcc 에러는 yum install gcc 로 해결이 가능합니다.



$ yum install gcc


그리고 설치 후 make 시 아래와 같이 또 애러가 난다면 ( 이것도 대부분 발생함 ) deps 로 들어가서 내부의 파일들을 설치해 줍니다.



$ cd deps
$ make hiredis jemalloc linenoise lua




이제 정상적으로 모두 설치 하셨다면 cd .. 으로 이동 후 make install 을 하시면 정상 적으로 컴파일 되는 것을 확인 하실 수 있습니다.




2. Redis 파일 복사 후 Config 파일 생성과 설치 진행하기


우선 cp 를 이용해 컴파일된 파일들을 원하시는 path 로 이동합니다. 제 경우 /etc/redis 아니면 /usr/local/redis 를 이용합니다. ( /etc/redis 는 해당폴더에 conf 파일이 들어감으로써 추천하진 않지만 일단 그냥 /etc/redis 를 이용하겠습니다. )


$ cp ./src/ /etc/redis -R


이제 설치는 대충 완료 되었고 환경 설정 파일을 만들차례 입니다. 간단히 이전에 다운 받았던 path 로 이동하셔서 util 폴더의 install_server.sh 를 실행 시켜 줍니다.


$ cd ./utils
$ ./install_server.sh


그리고 포트 및 개인 설정들은 필요 하시면 하시고 그냥 Enter 를 치셔서 넘겨 주셔도 됩니다. 그리고 마지막 쯤 Please select the redis executable path [] 메세지 뒤에 위에서 복사한 redis path + redis-server  라 적어 주시면 됩니다.


$ Please select the redis executable path [] /etc/redis/redis-server



설치가 모두 완료 되면 Installation successful! 를 확인하실수 있습니다.


원래대로라면 최적화를 해야 하지만 후에 따로 포스트 하겠습니다.




3. 테스트하기

  

  간단히 서버가 실행 중인지에 대한 테스트는 이전에 redis 가 설치된 폴더의 redis-cli 를 실행하여 주시면 간단히 ping pong 이 가능합니다.


$ /etc/redis/redis-cli
$ 127.0.0.1> ping




4. 서버 재시작 및 종료 명령어


서버 재시작및 종료는 간단히 위에서 install_server 로 하셨다면 /etc/init.d/redis_{port} 로 재시작 및 종료 등의 명령어가 가능합니다.


$ /etc/init.d/redis_6379 status #상태 확인
$ /etc/init.d/redis_6379 restart #재시작
$ /etc/init.d/redis_6379 stop #종료
$ /etc/init.d/redis_6379 start #시작




5. 원격 접속 허용하기


  원격 접속을 허용 하는 방법은 우선 /etc/redis/{port}.conf 파일의 bind 를 풀어 주시거나 특정 서버의 bind 만 설정 하신 후 설정하시면 됩니다.


$ vi /etc/redis/{port}.conf # 제 경우 /etc/redis/6379.conf
수정 후 서버 재시작 
$ /etc/init.d/redis_6379 restart


conf 파일에서 bind 127.0.0.1 에 특정 아이피를 적어 주시거나 해제해 주도록 합니다.



그리고 protected-mod 를 no 로 지정해 주거나 requirepass 를 지정해 주셔야 합니다.



  이유는 기본적으로 protected-mod 가 지정 되어 있으면 bind 나 requirepass 를 지정해 주셔야 하는데 그냥 간단히 접속을 하고 싶으시다면 protected-mod 만 no 로 만들어 주시면 됩니다.


이제 다른 서버나 gui 프로그램을 이용해 접속을 테스트 해보시면 됩니다.


아래는 간단히 다른 서버에서 redis 를 설치하고 redis-cli 명령어로 설치 한 모습입니다.




즐거운 개발 운영되시기 바랍니다. ^^