所以有一次我在 Windows 7 上运行了 consul。这是几个月前的事了。最近我开始回顾 consul,所以我使用Chocolatey 网站上的Chocolatey 包安装了它。
首先,包在尝试启动服务时总是会抛出错误。错误:
c o n s u l : U n e x p e c t e d s t a t u s S E R V I C E _ S T O P P E D i n r e s p o n s e t o S T A R T c o n t r o l .
但这并没有使 Chocolatey 认为该软件包无法安装。之后,我尝试使用 nssm 转储该服务,结果如下:
C:\ProgramData\chocolatey PS>nssm dump consul
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe install consul C:\ProgramData\chocolatey\lib\consul\tools\consul.exe
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppParameters "agent -ui -config-dir=C:\ProgramData\consul\config -data-dir=C:\ProgramData\consul\data -bind '127.0.0.1' -bootstrap -server"
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppDirectory C:\ProgramData\chocolatey\lib\consul\tools
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppExit Default Exit
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppEnvironmentExtra :GOMAXPROCS=2
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppStdout C:\ProgramData\consul\logs\consul-output.log
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppStderr C:\ProgramData\consul\logs\consul-error.log
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppRotateFiles 1
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppRotateOnline 1
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul AppRotateBytes 10485760
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul DisplayName consul
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul ObjectName "NT Authority\NetworkService"
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul Start SERVICE_AUTO_START
C:\ProgramData\chocolatey\lib\NSSM\tools\nssm.exe set consul Type SERVICE_WIN32_OWN_PROCESS
如果我把上面的 AppParameters 粘贴到 consul 之后,它就可以完美地工作了。所以,我不知道为什么我无法启动该服务。
C:\ProgramData\chocolatey PS>start-service consul
start-service : Service 'consul (consul)' cannot be started due to the following error: Cannot start service consul on computer '.'.
At line:1 char:1
+ start-service consul
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
+ FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
当我查看事件查看器时,它会告诉我以下错误消息:
The consul service terminated with the following service-specific error:
Incorrect function.
有没有人让 consul Chocolatey 包最近在 Windows 上工作?有没有可能这是一个 Windows 错误,或者一个 NSSM 错误,甚至是一个领事错误?我尝试了不同版本的 NSSM 和不同版本的 consul,结果相同。我能得到任何帮助来让领事在 Windows 上运行将不胜感激。