mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
129 lines
8.6 KiB
Markdown
129 lines
8.6 KiB
Markdown
# Command Line Arguments
|
|
|
|
The NATS Streaming Server accepts command line arguments to control its behavior. There is a set of parameters specific to the NATS Streaming Server and some to the embedded NATS Server.
|
|
|
|
Command line parameters override corresponding config options in a configuration file, which themselves override configuration defaults. Configuration defaults can be found on the [Configuration File](cfgfile.md) page.
|
|
|
|
_**Note about parameters types**_
|
|
|
|
| Type | Remark |
|
|
| :--- | :--- |
|
|
| `<bool>` | For booleans, either simply specify the parameter with value to enable \(e.g `-SD`\), or specify `=false` to disable |
|
|
| `<size>` | You can specify as a number `1024` or as a size `1KB` |
|
|
| `<duration>` | Values must be expressed in the form `_h_m_s`, such as `1h` or `20s` or `1h30m`, or `1.5h`, etc... |
|
|
|
|
```text
|
|
Usage: nats-streaming-server [options]
|
|
|
|
Streaming Server Options:
|
|
-cid, --cluster_id <string> Cluster ID (default: test-cluster)
|
|
-st, --store <string> Store type: MEMORY|FILE|SQL (default: MEMORY)
|
|
--dir <string> For FILE store type, this is the root directory
|
|
-mc, --max_channels <int> Max number of channels (0 for unlimited)
|
|
-msu, --max_subs <int> Max number of subscriptions per channel (0 for unlimited)
|
|
-mm, --max_msgs <int> Max number of messages per channel (0 for unlimited)
|
|
-mb, --max_bytes <size> Max messages total size per channel (0 for unlimited)
|
|
-ma, --max_age <duration> Max duration a message can be stored ("0s" for unlimited)
|
|
-mi, --max_inactivity <duration> Max inactivity (no new message, no subscription) after which a channel can be garbage collected (0 for unlimited)
|
|
-ns, --nats_server <string> Connect to this external NATS Server URL (embedded otherwise)
|
|
-sc, --stan_config <string> Streaming server configuration file
|
|
-hbi, --hb_interval <duration> Interval at which server sends heartbeat to a client
|
|
-hbt, --hb_timeout <duration> How long server waits for a heartbeat response
|
|
-hbf, --hb_fail_count <int> Number of failed heartbeats before server closes the client connection
|
|
--ft_group <string> Name of the FT Group. A group can be 2 or more servers with a single active server and all sharing the same datastore
|
|
-sl, --signal <signal>[=<pid>] Send signal to nats-streaming-server process (stop, quit, reopen)
|
|
--encrypt <bool> Specify if server should use encryption at rest
|
|
--encryption_cipher <string> Cipher to use for encryption. Currently support AES and CHAHA (ChaChaPoly). Defaults to AES
|
|
--encryption_key <string> Encryption Key. It is recommended to specify it through the NATS_STREAMING_ENCRYPTION_KEY environment variable instead
|
|
|
|
Streaming Server Clustering Options:
|
|
--clustered <bool> Run the server in a clustered configuration (default: false)
|
|
--cluster_node_id <string> ID of the node within the cluster if there is no stored ID (default: random UUID)
|
|
--cluster_bootstrap <bool> Bootstrap the cluster if there is no existing state by electing self as leader (default: false)
|
|
--cluster_peers <string, ...> Comma separated list of cluster peer node IDs to bootstrap cluster state
|
|
--cluster_log_path <string> Directory to store log replication data
|
|
--cluster_log_cache_size <int> Number of log entries to cache in memory to reduce disk IO (default: 512)
|
|
--cluster_log_snapshots <int> Number of log snapshots to retain (default: 2)
|
|
--cluster_trailing_logs <int> Number of log entries to leave after a snapshot and compaction
|
|
--cluster_sync <bool> Do a file sync after every write to the replication log and message store
|
|
--cluster_raft_logging <bool> Enable logging from the Raft library (disabled by default)
|
|
|
|
Streaming Server File Store Options:
|
|
--file_compact_enabled <bool> Enable file compaction
|
|
--file_compact_frag <int> File fragmentation threshold for compaction
|
|
--file_compact_interval <int> Minimum interval (in seconds) between file compactions
|
|
--file_compact_min_size <size> Minimum file size for compaction
|
|
--file_buffer_size <size> File buffer size (in bytes)
|
|
--file_crc <bool> Enable file CRC-32 checksum
|
|
--file_crc_poly <int> Polynomial used to make the table used for CRC-32 checksum
|
|
--file_sync <bool> Enable File.Sync on Flush
|
|
--file_slice_max_msgs <int> Maximum number of messages per file slice (subject to channel limits)
|
|
--file_slice_max_bytes <size> Maximum file slice size - including index file (subject to channel limits)
|
|
--file_slice_max_age <duration> Maximum file slice duration starting when the first message is stored (subject to channel limits)
|
|
--file_slice_archive_script <string> Path to script to use if you want to archive a file slice being removed
|
|
--file_fds_limit <int> Store will try to use no more file descriptors than this given limit
|
|
--file_parallel_recovery <int> On startup, number of channels that can be recovered in parallel
|
|
--file_truncate_bad_eof <bool> Truncate files for which there is an unexpected EOF on recovery, dataloss may occur
|
|
--file_read_buffer_size <size> Size of messages read ahead buffer (0 to disable)
|
|
--file_auto_sync <duration> Interval at which the store should be automatically flushed and sync'ed on disk (<= 0 to disable)
|
|
|
|
Streaming Server SQL Store Options:
|
|
--sql_driver <string> Name of the SQL Driver ("mysql" or "postgres")
|
|
--sql_source <string> Datasource used when opening an SQL connection to the database
|
|
--sql_no_caching <bool> Enable/Disable caching for improved performance
|
|
--sql_max_open_conns <int> Maximum number of opened connections to the database
|
|
|
|
Streaming Server TLS Options:
|
|
-secure <bool> Use a TLS connection to the NATS server without
|
|
verification; weaker than specifying certificates.
|
|
-tls_client_key <string> Client key for the streaming server
|
|
-tls_client_cert <string> Client certificate for the streaming server
|
|
-tls_client_cacert <string> Client certificate CA for the streaming server
|
|
|
|
Streaming Server Logging Options:
|
|
-SD, --stan_debug=<bool> Enable STAN debugging output
|
|
-SV, --stan_trace=<bool> Trace the raw STAN protocol
|
|
-SDV Debug and trace STAN
|
|
--syslog_name On Windows, when running several servers as a service, use this name for the event source
|
|
(See additional NATS logging options below)
|
|
|
|
Embedded NATS Server Options:
|
|
-a, --addr <string> Bind to host address (default: 0.0.0.0)
|
|
-p, --port <int> Use port for clients (default: 4222)
|
|
-P, --pid <string> File to store PID
|
|
-m, --http_port <int> Use port for http monitoring
|
|
-ms,--https_port <int> Use port for https monitoring
|
|
-c, --config <string> Configuration file
|
|
|
|
Logging Options:
|
|
-l, --log <string> File to redirect log output
|
|
-T, --logtime=<bool> Timestamp log entries (default: true)
|
|
-s, --syslog <string> Enable syslog as log method
|
|
-r, --remote_syslog <string> Syslog server addr (udp://localhost:514)
|
|
-D, --debug=<bool> Enable debugging output
|
|
-V, --trace=<bool> Trace the raw protocol
|
|
-DV Debug and trace
|
|
|
|
Authorization Options:
|
|
--user <string> User required for connections
|
|
--pass <string> Password required for connections
|
|
--auth <string> Authorization token required for connections
|
|
|
|
TLS Options:
|
|
--tls=<bool> Enable TLS, do not verify clients (default: false)
|
|
--tlscert <string> Server certificate file
|
|
--tlskey <string> Private key for server certificate
|
|
--tlsverify=<bool> Enable TLS, verify client certificates
|
|
--tlscacert <string> Client certificate CA for verification
|
|
|
|
NATS Clustering Options:
|
|
--routes <string, ...> Routes to solicit and connect
|
|
--cluster <string> Cluster URL for solicited routes
|
|
|
|
Common Options:
|
|
-h, --help Show this message
|
|
-v, --version Show version
|
|
--help_tls TLS help.
|
|
```
|
|
|