【问题标题】:Start Consul as windows service启动 Consul 作为 Windows 服务
【发布时间】:2019-04-15 09:55:51
【问题描述】:

我正在尝试在 windows 上运行 consul,我的步骤:

  1. 下载 consul.exe
  2. 像这样安装nssm

    2.1.iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

    2.2.choco install -y nssm

  3. 为 consul 创建配置文件:

    { "bootstrap": false, "server": true, "datacenter": "MyServices", "data_dir": "C:\Marchello\Downloads\cons\data", "log_level": "INFO" }

  4. 执行nssm命令:

    nssm install Consul C:\Marchello\Downloads\cons\consul.exe agent -config-dir C:\Marchello\Downloads\cons\config --ui-dir C:\Marchello\Downloads\cons\ui

  5. 收到消息Service Consul installed successfully

  6. 运行命令nssm start Consul 结果我收到消息:Consul: Unexpected status SERVICE_PAUSED in response to START control

我很困惑,我做错了什么?

【问题讨论】:

  • @RanadipDutta,我将登录更改为管理员,现在服务已启动,非常感谢!
  • 乐于助人。现在作为答案发布。

标签: windows powershell consul spring-cloud-consul


【解决方案1】:

尝试使用windows service sc.exe

基本 Consul 配置 JSON

{
  "datacenter": "east-aws",
  "data_dir": "d:\\workspace\\consul",
  "log_level": "INFO",
  "node_name": "foobar",
  "server": true,
  "bind_addr": "127.0.0.1",
  "bootstrap": true,
  "ui": true,
  "log_file" : "d:\\workspace\\consul.log" 
}

上面的config.json保存在这个文件夹d:\workspace\consul

sc.exe create "Consul" binPath="d:\workspace\consul\Consul.exe agent -config-dir=d:\workspace\consul" start= auto

在上述命令中,binPath= 后面必须有空格,双引号的打开/关闭也是必须的。这意味着所有与 consul 相关的命令都应该放在双引号内。

sc.exe 启动“领事”

【讨论】:

    【解决方案2】:

    实际启动了多少服务? 当启动超过 16 个服务时会发生这种情况。前 16 个将成功启动,然后其余的保持“暂停”状态。

    另一方面,这可能是一个特权问题。将登录更改为管理员应该可以解决此问题。

    此外,请在您安装服务时检查应用程序事件日志以查找来源为 nssm 的错误。

    希望这些步骤对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      相关资源
      最近更新 更多