Consul 服务启动失败

Consul service fails to start

尝试在 Ubuntu 18.04 上设置单节点 Consul,使用版本:Consul v1.8.4。我正在使用我自己的用户开始,

我的 consul.service 文件看起来像这样

[Service]
ExecStart=/opt/consul/bin/consul agent –server –ui  –data-dir=/temp/consul –bootstrap-expect=1 –node=vault –bind=192.168.37.128 –config-dir=/etc/consul.d

sudo systemctl daemon-reload
sudo systemctl start consul

服务启动失败-抱怨Unexpected extra arguments

journalctl -xe -u consul

Unexpected extra arguments: [–server –ui –data-dir=/temp/consul –bootstrap-expect=1 –node=vault –bind=192.168.37.128 –conf
Oct 02 23:50:25 ubuntu2 systemd[1]: consul.service: Main process exited, code=exited, status=1/FAILURE
Oct 02 23:50:25 ubuntu2 systemd[1]: consul.service: Failed with result 'exit-code'.

更新第 2 期

解析失败 /etc/consul.d/ui.json: 无效字符 'â' looking for beginning of object key string

ui.json - 问题似乎 “ ” - 他们需要 " " - 现在如下:

{
"addresses": {
"http": "0.0.0.0"
  }
}

因此需要处理这些 un​​icode 字符 - 跨编辑器的剪切和粘贴问题 - 最好使用文本编辑器或直接在控制台中使用

如果有人有最佳实践想法。

问题是在您的 systemd 单元中指定的选项的前缀是破折号 (: Unicode 0x2013) 而不是连字符 (-: Unicode 0x2d)。有关详细信息,请参阅 Wikipedia: Hyphens and Dashes

指定选项的正确语法是:

[Service]
ExecStart=/opt/consul/bin/consul agent -server -ui -data-dir=/temp/consul -bootstrap-expect=1 -node=vault -bind=192.168.37.128 -config-dir=/etc/consul.d