Ubuntu 환경에서 Redis 설치하고 Systemctl 설정

2022. 9. 9. 16:17카테고리 없음

728x90

사전 준비

azure - ubuntu 20.04 LTS

 

시작

1. 레디스 버전은 공식 홈페이지에 안정화 버전(stable version) 링크가 따로 존재하는데 이 주소를 wget으로 받을 경우 시간이 지나 새로운 레디스를 설치 시에도 안정화 버전 주소는 고정이라 언제나 안정화 버전을 사용할 수 있다

wget https://download.redis.io/redis-stable.tar.gz

 

2. 레디스 압축 파일을 받았다면 압축을 풀자

tar xvf redis-stable.tar.gz

 

3. 레디스 로그를 저장할 폴더를 만들어 주자

mkdir redis_log

 

4. 압축 풀은 레디스 폴더에 권한 설정 한 다음 안으로 이동 후 redis.conf 파일을 실행하자

sudo chmod 777 -R redis-stable

cd redis-stable

vi redis.conf

 

5. 머신이 재부팅하더라도 자동으로 레디스 실행하도록 변경하고 로그 파일을 저장할 폴더를 설정하자

supervised auto로 되어 있을 텐데 systemd로 변경하자

참고로 daemonize 옵션은 백그라운드 실행할지 말지 결정하는 옵션인데 서비스로 실행해서 사용할 거면 저 옵션은 상관없다.

dir ./로 되어 있을 텐데 원하는 경로명으로 변경해준다.

 

6. 빌드하자

make

 

7. 서비스를 등록하기 위한 파일을 만들고 파일 안에 내용을 입력한다

sudo vi /lib/systemd/system/redis.service 

[Unit]
Description=Redis In-Memory Data Store 
After=network.target

[Service]
User=azureuser
Group=azureuser
ExecStart=/home/azureuser/redis-stable/src/redis-server /home/azureuser/redis-stable/redis.conf
ExecStop=/home/azureuser/redis-stable/src/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

나는 azureuser라는 계정명으로 생성되어 있는데 이 글을 보는 사람은 자신의 계정명으로 변경하고 ExecStart, ExecStop의 레디스 경로명을 자신이 설치한 곳의 경로명으로 바꿔주면 된다.

 

8. 서비스를 등록한다

- 시스템에 등록

sudo systemctl enable redis.service 

- 파일 수정 시 리로드
sudo systemctl daemon-reload

-  Redis 서버 실행 
sudo systemctl start redis.service

 

9. 레디스가 실행되는지 확인한다.

systemctl status redis.service 또는 netstat -ntlp | grep 6379

 

예외 상황

1. make 설치 시 GCC 에러가 날 경우

위와 같은 에러가 났다.

검색해 보니 ubuntu에 GCC가 없어서 그렇다고 한다

이럴 경우 일단 make를 취소하고 GCC 설치 후 다시 make 실행을 해야 한다

make distclean

sudo apt install gcc

make