02、NATS单节点部署

接下来,我们一起看看如何部署一个单节点的 nats 服务器,这样后续学习 nats 的功能和特性的时候,会更加的清晰,那我们一起看看如何部署单节点的nats服务,后面在学习如何部署集群版的 nats

1、二进制方式部署

先说下这里使用的环境是:

cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

1.1、下载及运行

https://github.com/nats-io/nats-server/releases 下载最新版本的nats-server版本。这里用 v2.10.3

rpm包主要用于redhat及分支如redhat,centos,Fedora等
而deb包主要用于debian及分支如debian,ubuntu等。

这里使用压缩包的方式按照,方便更新部署位置以及配置。

# 下载安装包
wget https://github.com/nats-io/nats-server/releases/download/v2.10.3/nats-server-v2.10.3-linux-amd64.tar.gz


# 解压
tar -zxvf nats-server-v2.10.3-linux-amd64.tar.gz

得到解压后的文件夹后,进入里面,运行可执行文件,即可启动一个 nats 服务。

# 运行
./nats-server

nats 单节点的部署还是十分简单的,几乎没有任何难度。

1.2、配置文件简介

nats 也支持在启动时通过命令行参数来指定配置,不过这样每次都需要指定,不如写入到配置文件方便,所以这里只说配置文件的方式。

nats 的配置还是有很多参数的,尤其是新版本的功能更加丰富,配置的参数也多了。

想要更加详细的了解 nats 的参数,可以直接去看官网 Configuring NATS Server,里面有更加详细全面的介绍。

下面简单将一些常用到的参数。

vim gnastd.conf

port: 4242   # 供客户端连接的监听端口
net: apcera.me # 监听的网络地址
 
http_port: 8222 # HTTP监控端口
 
# 客户端连接的认证信息
authorization {
 user:   derek
 password: T0pS3cr3t
 timeout: 1
}
 
# 集群定义
cluster {
 
 host: '127.0.0.1' # 主机地址
 port: 4244     # 路由连接的入站(inbound)端口
 
 # 路由连接的认证信息
 authorization {
  user: route_user
  password: T0pS3cr3tT00!
  timeout: 0.5
 }
 
 # Routes are actively solicited and connected to from this server.
 # Other servers can connect to us if they supply the correct credentials
 # in their routes definitions from above.
 routes = [
  nats-route://user1:pass1@127.0.0.1:4245
  nats-route://user2:pass2@127.0.0.1:4246
 ]
}
 
# 日志选项
debug:  false
trace:  true
logtime: false
log_file: "/tmp/gnatsd.log"
 
# PID进程文件
pid_file: "/tmp/gnatsd.pid"
 
# 一些系统属性
 
# 客户端最大连接数
max_connections: 100
 
# 最大协议控制行
max_control_line: 512
 
# 最大的有效负载
max_payload: 65536
 
# 慢消费者阀值
max_pending: 10000000

1.3、将 nats 使用systemd 管理

使用 命令行启动 nats 服务,在终端连接断开后,nats 服务就挂掉了,可以使用 systemd 管理。

vim /lib/systemd/system/nats.service

[Unit]
Description=nats-server daemon
After=syslog.target  network.target
Wants=network.target

[Service]
ExecStart=/opt/nats/nats-server -c /opt/nats/nats.yml
Restart= on-failure

[Install]
WantedBy=multi-user.target

2、docker 方式部署单节点

1、docker pull nats, 自动获取linux版本的image

2、使用 docker image命令,查看显示本地的image list

3、创建容器,并运行nats 单节点

docker run -d -it --name nats-server -p 4222:4222 -p 6222:6222 -p 8222:8222 nats

-p: 映射端口
-it: 一般搭配使用,显示容器的shell映射到当前的shell
-d: 后台运行
--name: 别名

4、使用 docker ps 命令,查看容器的运行情况

posted @ 2023-10-22 17:01  画个一样的我  阅读(279)  评论(0编辑  收藏  举报