# QuickStart

# Install from packagecloud source

# Install via AUR

  • Nanomq basic edition
yay -S nanomq
1
  • Nanomq sqlite edition
yay -S nanomq-sqlite
1
  • Nanomq msquic edition
yay -S nanomq-msquic
1
  • Nanomq full edition
yay -S nanomq-full
1

# Install via DEB source

curl -s https://assets.emqx.com/scripts/install-nanomq-deb.sh | sudo bash
sudo apt-get install nanomq
1
2

# Install Deb package manually

sudo bash -c 'cat << EOF > /etc/apt/sources.list.d/emqx_nanomq.list
deb [signed-by=/usr/share/keyrings/emqx_nanomq-archive-keyring.gpg] https://packages.emqx.com/emqx/nanomq/any/ any main
deb-src [signed-by=/usr/share/keyrings/emqx_nanomq-archive-keyring.gpg] https://packages.emqx.com/emqx/nanomq/any/ any main
EOF'

gpg_key_url="https://packages.emqx.com/emqx/nanomq/gpgkey"
gpg_keyring_path="/usr/share/keyrings/emqx_nanomq-archive-keyring.gpg"
curl -fsSL "${gpg_key_url}" | gpg --dearmor > ${gpg_keyring_path}
mv ${gpg_keyring_path} /etc/apt/trusted.gpg.d/emqx_nanomq.gpg

sudo apt-get update
sudo apt-get install nanomq
1
2
3
4
5
6
7
8
9
10
11
12

# Install via RPM source

curl -s https://assets.emqx.com/scripts/install-nanomq-rpm.sh | sudo bash
sudo yum install -y nanomq
1
2

# Install RPM package manually

sudo bash -c 'cat << EOF > /etc/yum.repos.d/emqx_nanomq.repo
[emqx_nanomq]
name=emqx_nanomq
baseurl=https://packages.emqx.com/emqx/nanomq/rpm_any/rpm_any/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packages.emqx.com/emqx/nanomq/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOF'

sudo yum -q makecache -y --disablerepo='*' --enablerepo='emqx_nanomq'
sudo yum install -y nanomq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Compile & Install

To build NanoMQ, you will need a C99 compatible compiler and CMake (opens new window) version 3.13 or newer.

Basically, you need to compile and install NanoMQ by following steps :

$ mkdir build
$ cd build
$ cmake -G Ninja ..
$ sudo ninja install
1
2
3
4

Or you can compile it without ninja:

$ mkdir build 
$ cd build
$ cmake .. 
$ make
1
2
3
4

Add NNG_ENABLE_TLS to enable TLS:

mbedTLS (opens new window) needs to be installed first.

cmake -G Ninja -DNNG_ENABLE_TLS=ON ..
1

or

cmake -DNNG_ENABLE_TLS=ON ..
1

View config file nanomq.conf for more parameters about TLS.

# Start MQTT Broker

nanomq start
1

Currently, NanoMQ supports MQTT 3.1.1 & 5.0, MQTT 3.1 is not included

# MQTT Client

# Publish
nanomq_cli pub --url <url> -t <topic> -m <message> [--help]

# Subscribe
nanomq_cli sub --url <url> -t <topic> [--help]

# Connect*
nanomq_cli conn --url <url> [--help]
1
2
3
4
5
6
7
8