웹에서 MQTT 통신을 하기 위한 Broker 세팅을 해보려고 합니다.
Mosquitto Broker 설치 후 websocket 세팅하고 SSL 인증서 적용하여 통신하는 방법에 대해 알아보도록 하겠습니다.
1. Mosquitto 설치
설치 가능한 목록을 확인하는 명령어입니다.
$ apt list mosquitto*
mosquitto
mosquitto-clients
위 두 항목을 설치하면 됩니다.
* mosquitto
Mosquitto Broker 패키지만 설치합니다. Mosquitto를 Broker로만 사용하려는 경우에는 mosquitto 패키지만 설치해도 됩니다.
* mosquitto-clients
Mosquitto Broker에 연결하고 메시지를 게시하거나 받는 데 사용되는 명령줄 클라이언트 유틸리티를 포함합니다.
mosquitto-clients 패키지를 설치하면 명령어로 Publish, Subscribe 할 수 있습니다.
아래 명령어로 설치를 진행합니다.
$ sudo apt install mosquitto
$ sudo apt install mosquitto-clients
설치가 완료되고 잘 실행되고 있는지 확인해 봅니다.
$ sudo systemctl status mosquitto.service
2. config 파일
이제 config 파일을 설정해 보도록 하겠습니다.
설치가 완료된 후 MQTT 통신을 위한 기본 포트는 1883입니다.
하지만 설정파일에서 변경할 수 있습니다.
설정파일의 경로는 통상적으로 아래 경로에 위치합니다.
/etc/mosquitto/mosquitto.conf
아래 설정파일 예제를 참고해서 각자 상황에 맞게 설정하시기 바랍니다.
# TCP MQTT
listener 1883
protocol mqtt
# WEBSOCKET MQTT
listener 2883
protocol websockets
# SSL
cafile /path/file
certfile /path/file
keyfile /path/file
SSL 인증서를 사용하여 통신하고자 하는 경우 해당 파일 경로를 정확히 입력하여 사용합니다.
설정 파일을 변경한 후에는 서비스를 재시작해야 적용됩니다.
Mosquitto 서비스 재시작 명령어는 아래와 같습니다.
$ sudo systemctl restart mosquitto
3. 로그 확인
Mosquitto의 로그는 일반적으로 시스템 로그를 통해 확인할 수 있습니다.
기본적으로 Mosquitto는 syslog를 사용하여 로그를 기록하기 때문에 시스템 로그를 확인하면 Mosquitto의 로그도 확인할 수 있습니다.
$ sudo tail -f /var/log/messages | grep mosquitto
또한 설정파일에서 특정 파일에 로그를 남길 수 있도록 설정할 수 있습니다.
# LOG
log_dest file /etc/mosquitto/mosquitto.log
log_type all
log_type debug
4. Publish / Subscribe
프런트에서 MQTT 통신하는 방법에 대해서는 이전 글을 참고하시기 바랍니다.
https://itstudy402.tistory.com/17
'IT, 개발 > 서버' 카테고리의 다른 글
Ubuntu 우분투 사용자 권한 부여, 그룹관리하는 방법(계정 권한, 계정 그룹) (0) | 2023.07.07 |
---|---|
Ubuntu 우분투 사용자를 조회, 비밀번호 변경, 사용자 생성 (0) | 2023.07.07 |
Github 프로젝트 올리기(깃허브 Repository 생성, push 명령어) (0) | 2022.11.16 |
터미널 파일 합치기(폴더 전체 or 일부) / grep 결과 파일로 저장하기 (0) | 2022.11.08 |
리눅스 apt 패키지 항목 검색 / 삭제 (설치 가능한 패키지 검색, 설치된 패키지 조회, 패키지 삭제) (0) | 2022.10.28 |