首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将安装为Windows服务?

如何将安装为Windows服务?
EN

Stack Overflow用户
提问于 2014-11-27 13:34:20
回答 4查看 8.9K关注 0票数 4

我正在尝试在Azure (IaaS)上将redis哨兵设置为windows服务。

我正在使用微软OpenTech端口的,并运行以下命令.

redis-server -service-install-service-name rdsent redis.sentinel.conf --sentinel

此命令在我的系统上安装服务,但当我试图通过服务控制面板或通过以下命令启动该服务时.

redis-server -service-run-service-name rdsent redis.sentinel.conf --sentinel

然后服务在启动时出现以下错误.

HandleServiceCommands:捕获系统错误。错误code=1063,消息= StartServiceCtrlDispatcherA失败:未知错误

我是不是漏掉了什么?请有人帮我启动这项服务,让它正常工作。

EN

回答 4

Stack Overflow用户

发布于 2015-03-04 23:05:50

我也有同样的问题,我的问题与我的哨兵配置有关。我发现的许多文章都有一些不正确的示例,因此在配置正确之前,我的服务安装将无法工作。无论如何,下面是您的哨兵配置(对于Windows 2.8.17)所需的最低配置:

代码语言:javascript
复制
    sentinel monitor <name of redis cache>  <server IP> <port> 2
    sentinel down-after-milliseconds <name of redis cache> 4000
    sentinel failover-timeout <name of redis cache> 180000
    sentinel parallel-syncs <name of redis cache> 1

一旦设置好了,上面的原始Redis服务命令就可以工作了。

票数 3
EN

Stack Overflow用户

发布于 2015-01-05 17:39:30

根据MSOpenTech,以下命令应该将Redis安装为服务:

代码语言:javascript
复制
redis-server --service-install --service-name Sentinel1 sentinel.1.conf --sentinel

但当我使用该命令时,安装的服务将不会启动:它将立即因错误1067而失败,“进程意外终止”。看一下服务条目,我猜问题是--服务名称参数没有被过滤,最终成为服务可执行路径的一部分。

我找到的工作方法是使用SC命令手动安装服务:

代码语言:javascript
复制
SC CREATE Sentinel1 binpath= "\"C:\Program Files\Redis\redis-server.exe\" --service-run sentinel.1.conf --sentinel"

不要忘记"binpath=“之后所需的空间,很明显,该路径必须反映您安装redis-server.exe的位置。另外,在安装了服务之后,我编辑了服务条目,这样Redis就可以在Network帐户下运行。

票数 2
EN

Stack Overflow用户

发布于 2016-02-23 19:45:21

我使用的是v3.0.501,并遇到了以下两个问题。在出现时,它会导致服务在开始时失败,而不会出现写入文件日志或事件日志的错误。

  1. 配置文件必须是命令行的最后一个参数。如果另一个参数是最后一个,比如
  2. 由于服务默认安装了一个Network Service,所以确保它能够访问日志文件将被写入的目录。

一旦这两个项目被计入,红色作为一种服务,运行平稳如丝绸。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27171970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档