라벨이 haproxy인 게시물 표시

하나의 서버에서 노드 코아 서비스 여러개 돌리는 방법

현재 서버를 하나 운영중입니다. 여기에 노드 코아로 만든 서비스를 돌리고자 합니다. 이 서비스를 안정적으로 돌리자고 하면 여러개를 올려야 합니다. 난 이 방법으로 해결했습니다. 먼저 Haproxy 를 설치합니다. 같은 동작을 하는 노드 서비스를 포트만 다르게 작성합니다. 전 보통 3개를 작성합니다. A - 7001 번 포트로 서비스 합니다. B - 7002 번 포트로 서비스 합니다. C - 7003 번 포트로 서비스 합니다. 만약 A 가 죽으면 B와 C 에서 부하분산되어 서비스 됩니다. 이는 Haproxy 에서 역할을 해줍니다. 참고로 이방법으로 집에서 작은 서비스 돌리고 있습니다. 10여년 전에 50만원 주고 산 일체형 컴퓨터에 우분투 서버를 올리고 여기에 개인 프로젝트로 운영중인 서비스 약 2~30개가 돌아갑니다. 아주 저렴하게 운영되고 있습니다. 매우 안정적입니다. 시간이 허락되면 이 서버의 구성에 대해 이야기 하도록 하겠습니다.

Let's Encrypt Expiry Bot 메일 조치

 네이버 클라우드에 우분투 서버를 하나 운영하고 있다. 여기에 가비아에서 도메인을 하나 사서 연결시켰음 API 서비스를 위해 https 필요해서 LetsEncrypt 설정하여 Haproxy로 부하분산을 설정했다. 처음에 잘 설정되었다고 생각했는데 인증서 갱신이 되지 않았나보다. 찾아보니 설명이 부실하여 나름 다시 적용하고 정리한다. 1. 80 과 443 포트가 열려 있는지 확인하고 열려 있으면 닫는다. $ netstat -an | grep ':80' $ netstat -an | grep ':443' 만약 열려 있다면 닫는 방법은 haproxy 를 중지하면 된다. $ sudo systemctl stop haproxy 2. standalone 으로 인증서를 발급한다. $ sudo certbot certonly --standalone -d www.example.com 인증서가 발급되면 /etc/letsencrypt/live/www.example.com/ 폴더에 파일이 생성된다. 3. haproxy 에서 사용할 인증서로 생성한다. $ DOMAIN='www.example.com' sudo -E bash -c 'cat /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/letsencrypt/live/$DOMAIN/privkey.pem > /etc/haproxy/$DOMAIN.pem' 4. 이제 haproxy 를 다시 기동한다. $ sudo systemctl start haproxy