아래 공식문서를 참고함
참고로 go 명령어를 통해 설치하는 방식을 택했음
어차피 서버 내에 있는 .go 파일 빌드도 해야 했기 때문임
Installing a NATS Server | NATS Docs
amd64, 386, arm6, arm7, arm64, mips64le, s390x
docs.nats.io
1. go 언어 설치
dnf install golang
2. go 명령어를 통한 nats 설치
go install github.com/nats-io/nats-server/v2@latest
3. 실행하기
nats-server
nats-server이 있는 디렉토리로 이동해서 위 명령어 실행함
기본 폴더는 아마 /root/go/bin일거임
3-1. 필요하다면 config 파일을 만들어서 같이 실행하기
nats-server.conf 파일을 만들고 MQTT 관련 설정을 해주면 MQTT 브로커 서버도 같이 돌릴 수 있음
nats-server -c nats-server.conf
근데 안타깝게도 Mosquitto 같은 브로커와 달리 MQTT를 WebSocket 프로토콜로도 허용시켜주는 옵션은 없어보임
그래서 브라우저에 바로 MQTT 메시지를 보낼 방법은 못찾음
(+) 2024.11.01: websocket 설정 관련 옵션 있음. websocket {} 안에 계정 설정 등 적어주면 브라우저에서 ws로 MQTT 연결 가능
MQTT 관련 설정은 아래 공식문서 예시 참고
Configuration | NATS Docs
MQTT Configuration Example
docs.nats.io
JetStream(메시지 저장하는 기능) 이라든가 여러가지 옵션들이 있으니 읽어보면 좋을듯.
4. 서비스 등록하기
/etc/systemd/system에 nats-server.service (예시명) 파일을 만듦
내용은 아래 예시 파일(by 공식문서)을 참고하기
nats-server/util/nats-server.service at main · nats-io/nats-server
High-Performance server for NATS.io, the cloud and edge native messaging system. - nats-io/nats-server
github.com
(+)
Rocky나 CentOS 한정 서비스가 안된다면 systemctl status [서비스명]으로 로그를 확인해봄
혹시 Failed at step EXEC spawning 이라는 문장이 보인다면 Selinux 에 의한 차단임
setenforce 0 으로 Selinux를 일시적으로 끄거나,
영구적으로 끄고 싶다면 /etc/sysconfig/selinux에서 SELINUX=disabled로 변경해줌
'IT > Linux' 카테고리의 다른 글
[IT/일상] rm -rf / 명령어 (2) | 2024.03.11 |
---|---|
[Apache] 웹서버 static 파일에 접근 (0) | 2023.11.30 |
[Linux/Nginx] Mosquitto 웹소켓(wss) 오류 (0) | 2023.11.06 |
[Linux/Nginx] Reverse Proxy, SSL 설정 (1) | 2023.11.01 |
[Linux/Centos] 백그라운드에서 실행되는 Service 등록 (0) | 2023.10.16 |