我在向CouchDB数据库添加外部进程时遇到问题。目前,该数据库包含一些记录,所有记录都具有PNG或JPG形式的独立附件。我想将Couch_Image_Resizer(由KlausTrainer)添加到数据库中,以便我可以使用Image Resizer提供的查询根据请求动态调整图像大小。但是,目前它只在使用URL命令时返回错误:
http://virtualMachineAddress/_image/archive/test/the_starry_night_painting.jpg?resize=500x500
{"error":"error","reason":"{conn_failed,{error,econnrefused}}"}
我已按照说明中的说明,将localhost或127.0.0.1的任何实例替换为我的虚拟机的IP地址(已经弹性,因此永远不会更改)。
我还按照指示更改了local.ini文件,以便它包含以下内容:
[httpd_global_handlers]
_image = {couch_httpd_proxy, handle_proxy_req, <<"http://127.0.0.1:5985">>}
最后,我确保程序通过./start.sh命令运行。如果多次运行它会返回以下内容,我可以确定它是否相关:
root@couchdb couchdb/couch_image_resizer# ./start.sh
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) {application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) {application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})`
可能有用的一些信息
erl_crash.dump:pastebin
Server是运行Debian 7.9 Wheezy的虚拟AWS机器。 数据库在此服务器上外部托管。
CouchDB版本:1.2.0
数据库未处于管理员方式,具有权限的帐户正在使用中。
GitHub链接:Couch_Image_Resizer
Erlang:erts-5.9.1 64位
ImageMagick:6.8.9-9
我显然在这里遗漏了一些东西,如果你还需要别的东西。如果有人能说清楚我所缺少的东西,我将非常感激!
答案 0 :(得分:0)
虽然可能还有其他人,但我找到了解决方案。
停止服务,将其权限设置为由couchdb用户独占,然后将start.sh文件路径添加到CouchDB的local.ini的[osdaemon]部分,然后重新启动数据库并启动应用程序作为root用户。这样做可以启动服务,现在可以按预期正常运行。