# 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
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
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
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
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
2
3
4
Or you can compile it without ninja:
$ mkdir build
$ cd build
$ cmake ..
$ make
1
2
3
4
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
2
3
4
5
6
7
8