This page covers common configuration steps for NSQ deployments.
| Component | Purpose | Default Ports |
|---|---|---|
| nsqd | Message daemon | TCP: 4150, HTTP: 4151 |
| nsqlookupd | Service discovery | TCP: 4160, HTTP: 4161 |
| nsqadmin | Web UI | HTTP: 4171 |
# Basic options
nsqd -tcp-address="0.0.0.0:4150" \
-http-address="0.0.0.0:4151" \
-lookupd-tcp-address="127.0.0.1:4160" \
-data-dir="/var/lib/nsq"
# Message settings
nsqd -max-msg-size=1048576 \
-max-msg-timeout=15m \
-msg-timeout=60s
nsqlookupd -tcp-address="0.0.0.0:4160" \
-http-address="0.0.0.0:4161"
nsqadmin -lookupd-http-address="127.0.0.1:4161" \
-http-address="0.0.0.0:4171"
Create /etc/nsq/nsqd.conf:
# TCP address
tcp-address = 0.0.0.0:4150
# HTTP address
http-address = 0.0.0.0:4151
# Lookupd addresses (comma-separated)
lookupd-tcp-address = 127.0.0.1:4160
# Data directory
data-path = /var/lib/nsq
# Message timeout
msg-timeout = 60s
# Max message size
max-msg-size = 1048576
Restart NSQ components after configuration changes:
sudo systemctl restart nsqd
sudo systemctl restart nsqlookupd
sudo systemctl restart nsqadmin
# Test nsqd
curl http://localhost:4151/ping
# Test nsqlookupd
curl http://localhost:4161/ping
# Test nsqadmin
curl http://localhost:4171/ping
# Publish a test message
curl -d 'test message' 'http://localhost:4151/pub?topic=test'
# Get stats
curl 'http://localhost:4151/stats?format=json' | jq