/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-1 -bind=192.168.3.110 -bootstrap-expect 3 -client=0.0.0.0 -ui
/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-2 -bind=192.168.3.111 -join=192.168.3.110 -client=0.0.0.0 -ui
/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-3 -bind=192.168.3.112 -join=192.168.3.110 -client=0.0.0.0 -ui
cd /usr/lib/systemd/system/
vim consul.service
[Unit]
Description=consul
After=network.target
[Service]
ExecStart=/usr/local/consul/start.sh
KillSignal=SIGTERM
[Install]
WantedBy=multi-user.target
新建
cd /usr/local/consul
vim start.sh
#!/bin/sh
/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-1 -bind=192.168.3.110 -bootstrap-expect 3 -client=0.0.0.0 -ui
#!/bin/sh
/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-2 -bind=192.168.3.111 -join=192.168.3.110 -client=0.0.0.0 -ui
#!/bin/sh
/usr/local/bin/consul agent -server -data-dir=/tmp/consul -node=server-3 -bind=192.168.3.112 -join=192.168.3.110 -client=0.0.0.0 -ui
chmod +x start.sh
systemctl daemon-reload
systemctl start consul
systemctl enable consul
systemctl restart consul
-
启动Consul服务器节点:你提供了三个命令来启动三个Consul服务器节点。第一个节点作为引导节点启动,它预期有3个服务器节点加入(
-bootstrap-expect 3
)。另外两个节点使用-join
参数加入到第一个节点。 -
创建systemd服务文件:你创建了一个名为
consul.service
的systemd服务文件,该文件定义了Consul服务的启动参数和依赖关系。 -
创建启动脚本:你创建了一个名为
start.sh
的脚本,该脚本包含启动Consul服务器节点的命令。但是,你提供的脚本内容似乎只是重复了之前手动启动Consul节点的命令。 -
使脚本可执行:你使用
chmod +x start.sh
命令使start.sh
脚本具有可执行权限。 -
重新加载systemd配置并启动Consul服务:你使用
systemctl
命令来重新加载systemd的配置,启动Consul服务,并设置为开机自启。