CouchDB不会在Azure Windows VM上作为服务安装

时间:2016-09-07 14:35:26

标签: windows azure erlang couchdb

我以前使用从http://couchdb.apache.org/

下载的安装程序setup-couchdb-1.6.1_R16B02.exe在我的Azure Windows VM(Classic)上安装了CouchDB而没有任何问题

今天我已经卸载了现有的CouchDB安装和服务,目的是从头开始重新安装。不幸的是,每当我运行安装程序时,它都无法创建Windows服务。更多信息:

  • 我正在以管理员身份运行安装程序和命令工具
  • 我已使用SC命令删除了现有服务,并编辑了注册表(尝试了两种方法)
  • 我尝试使用安装程序通过运行命令
  • 安装CouchDB后创建服务
  

erlsrv.exe添加“Apache CouchDB”-workdir“%COUCH%\ bin”-onfail   restart_always -args“-sasl errlog_type error -s couch + A 4 + W w”    - 评论“Apache CouchDB 1.6.1”

这似乎创建了一项服务(您可以在Windows服务中看到),但任何启动该服务的尝试都会导致错误:

  

Windows无法在本地计算机上启动Apache CouchDB服务。

     

错误1067:进程意外终止。

  • 我尝试卸载CouchDB应用程序,重新启动服务器,再次使用安装程序重新安装CouchDB。没有快乐。然后尝试运行命令来创建服务。仍然没有快乐。
  • 当我使用命令时
      

    erlsrv list

我可以看到我过去尝试添加的服务。任何删除它们的尝试都会导致错误消息:

  

erosrv:无法删除服务(没有足够的权限?)

     

错误:句柄无效

(我正在使用erlsrv list命令提供的句柄)

  • 事件日志中没有可以找到解释失败原因的事件

如何才能将CouchDB正确安装为服务?

1 个答案:

答案 0 :(得分:2)

TL; DR:重新安装在没有空格的目录路径中,然后手动创建服务。

好的,所以在今天谷歌搜索中的某些地方,我遇到this answer这给了我一些线索,我应该安装在没有空格的路径中。所以我的解决方案是:

  • 通过Windows控制面板卸载CouchDB应用程序。
  • 在任何剩余的CouchDB安装中运行uninstall.exe并删除这些目录。
  • 使用SC命令删除现有服务。
  • 使用安装程序重新安装到C:\ CouchDB(注意:没有空格!)。选择要作为服务安装的选项(即使这不起作用)。
  • 运行该命令以手动创建服务。请注意,我没有使用%COUCH%变量,因为此时我的系统似乎不存在:
  

erlsrv.exe add" CouchDB" -workdir" C:\ CouchDB \ bin" -onfail restart_always -args" -sasl errlog_type error -s couch + A 4 + W w" -comment" CouchDB 1.6.1"

此命令最终成功为正确启动的CouchDB创建了一个Windows服务。浏览http://localhost:5984/_utils/现在将我带到了Futon UI。放松一下!