【问题标题】:CouchDB will not install as a service on Azure Windows VMCouchDB 不会作为服务安装在 Azure Windows VM 上
【发布时间】:2017-01-15 07:34:48
【问题描述】:

我之前使用从http://couchdb.apache.org/ 下载的安装程序 setup-couchdb-1.6.1_R16B02.exe 在我的 Azure Windows VM(经典)上安装了 CouchDB,没有任何问题

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

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

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

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

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

错误 1067:进程意外终止。

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

    erlsrv 列表

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

erosrv:无法删除服务(权限不足?)

错误:句柄无效

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

  • 事件日志中没有任何事件可以解释为什么会失败

如何让 CouchDB 正确安装为服务?

【问题讨论】:

    标签: windows azure erlang couchdb


    【解决方案1】:

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

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

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

    erlsrv.exe 添加 "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。放松一下!

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2013-01-29
      • 1970-01-01
      相关资源
      最近更新 更多