Become a sponsor

在 CentOS Stream 或者 Rocky Linux 服务器上搭建 Consul 单机服务,服务器的最低配置要求包括 CPU 、内存、存储 和 网络 资源。
服务器要求
CentOS Stream 或 Rocky Linux 服务器2GB(推荐 4GB 或以上)50GB,10 GB(用于Consul数据和日志) 20 GB(根据数据量调整)访问 Consul 官网 下载适用于 Linux 的二进制文件。

选择版本
选择适用于 Linux 的版本(通常是 64 位 .zip 文件,如:consul_1.20.5_linux_amd64.zip 软件包)。
使用 XShell 客户端工具远程登录服务器,并上传软件包 consul_1.20.5_linux_amd64.zip 至目录 /usr/local/src。

上传成功后查看软件包信息:
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ll
总用量 393720
-rw-r--r--. 1 root root 66534209 3月 20 02:16 consul_1.20.5_linux_amd64.zip
[root@localhost src]# du -sh *
64M consul_1.20.5_linux_amd64.zip温馨提示
客户端工具除了 XShell 也可以使用其他工具,安装包存放目录可自定义,如 /usr/local/src。
[root@localhost src]# unzip consul_1.20.5_linux_amd64.zip
Archive: consul_1.20.5_linux_amd64.zip
inflating: LICENSE.txt
inflating: consulConsul 移动到 /usr/local/bin:mv consul /usr/local/bin/执行命令 consul --version 查看版本信息:
[root@localhost src]# consul --version
Consul v1.20.5
Revision 74efe419
Build Date 2025-03-11T10:16:18Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)mkdir /etc/consul.d/etc/consul.d/consul.hcl 并输入以下内容:datacenter = "dc1"
data_dir = "/opt/consul"
client_addr = "127.0.0.1"
bind_addr = "127.0.0.1"
server = true
bootstrap_expect = 1
ui = truemkdir -p /opt/consul
chown -R $USER:$USER /opt/consulConsul 服务:consul agent -config-dir=/etc/consul.d &[root@localhost src]# consul members
Node Address Status Type Build Protocol DC Partition Segment
localhost.localdomain 127.0.0.1:8301 alive server 1.20.5 2 dc1 default <all>Systemd 服务文件 /usr/lib/systemd/system/consul.service:[Unit]
Description=Consul Service
Documentation=https://www.consul.io/
After=network.target
[Service]
ExecStart=/usr/local/bin/consul agent -config-dir=/etc/consul.d
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
Restart=on-failure
User=consul
Group=consul
[Install]
WantedBy=multi-user.target参数说明:
Consul 专用用户和组groupadd --system consul
useradd --system --home /etc/consul.d --shell /bin/false -g consul consulchown -R consul:consul /etc/consul.d
chown -R consul:consul /opt/consul重新加载 Systemd 配置以应用新服务文件:
systemctl daemon-reload# 启动Consul服务
systemctl enable consul
# 设置Consul开机自启动
systemctl start consul通过以上步骤,Consul 已成功配置为 Systemd 服务,并可以通过以下命令管理:
1. 启动服务:systemctl start consul
2. 停止服务:systemctl stop consul
3. 重启服务:systemctl restart consul
4. 查看状态:systemctl status consul
5. 查看日志:journalctl -u consul[root@localhost src]# systemctl status consul
● consul.service - Consul Service
Loaded: loaded (/usr/lib/systemd/system/consul.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2025-03-20 02:50:56 EDT; 4min 26s ago
Docs: https://www.consul.io/
Main PID: 272128 (consul)
Tasks: 9 (limit: 24632)
Memory: 24.6M
CGroup: /system.slice/consul.service
└─272128 /usr/local/bin/consul agent -config-dir=/etc/consul.d
3月 20 02:51:04 localhost.localdomain consul[272128]: 2025-03-20T02:51:04.773-0400 [INFO] agent.leader: started routine: routine="config entry controllers"
3月 20 02:51:04 localhost.localdomain consul[272128]: 2025-03-20T02:51:04.773-0400 [INFO] agent.leader: started routine: routine="raft log verifier"
3月 20 02:51:04 localhost.localdomain consul[272128]: 2025-03-20T02:51:04.773-0400 [INFO] agent.leader: stopping routine: routine="virtual IP version check"
3月 20 02:51:04 localhost.localdomain consul[272128]: 2025-03-20T02:51:04.773-0400 [INFO] agent.leader: stopped routine: routine="virtual IP version check"
3月 20 02:51:06 localhost.localdomain consul[272128]: 2025-03-20T02:51:06.188-0400 [ERROR] agent.server.autopilot: Failed to reconcile current state with the desired state
3月 20 02:51:13 localhost.localdomain consul[272128]: 2025-03-20T02:51:13.788-0400 [INFO] agent: Synced node info
3月 20 02:52:04 localhost.localdomain consul[272128]: 2025-03-20T02:52:04.773-0400 [INFO] agent.server.raft.logstore.verifier: verification checksum OK: elapsed="87.077µs" leaderChecksum=d4414cb7fa1d371e rangeEnd=88 rangeStart=80 readC>
3月 20 02:53:04 localhost.localdomain consul[272128]: 2025-03-20T02:53:04.774-0400 [INFO] agent.server.raft.logstore.verifier: verification checksum OK: elapsed="60.61µs" leaderChecksum=7be63708ba9d1014 rangeEnd=93 rangeStart=88 readCh>
3月 20 02:54:04 localhost.localdomain consul[272128]: 2025-03-20T02:54:04.774-0400 [INFO] agent.server.raft.logstore.verifier: verification checksum OK: elapsed="73.026µs" leaderChecksum=e798f10bd4c4bd7c rangeEnd=98 rangeStart=93 readC>
3月 20 02:55:04 localhost.localdomain consul[272128]: 2025-03-20T02:55:04.774-0400 [INFO] agent.server.raft.logstore.verifier: verification checksum OK: elapsed="53.862µs" leaderChecksum=3acbe54ef497f9ce rangeEnd=102 rangeStart=98 read>
lines 1-20/20 (END)温馨提示
如果服务正常运行,输出应显示 active (running)。
journalctl -u consulhttp://<服务器IP>:8500。
Consul 的 Web 界面,用于查看节点、服务和配置,说明安装成功。

8500 端口:firewall-cmd --permanent --add-port=8500/tcp
firewall-cmd --reload通过以上步骤,你可以在 CentOS Stream 上成功搭建 Consul 单机服务,并通过 Web UI 进行管理。确保服务器满足最低要求,并根据实际需求调整配置。