如何在AWS服务器上使用nodejs和express来正确设置ImageMagick

所以基本上我一直在努力争取一段时间imagemagick和或graphicsmagick正常运行与我的节点应用程序,到目前为止,我遵循从http://www.imagemagick.org/script/install-source.php安装源#unix 。

我的服务器上的细节包括

-nodejs -mongodb -mongoose -imagemagick -graphicsmagick -express

看起来安装进行得很顺利,但是当我通过gm( https://npmjs.org/package/gm )通过节点运行代码时,我没有得到任何错误,但文件没有被写入,我会发布图像发布function的示例代码。

var gm = require('./gm'); var newRoute = '/some/user/url/'; var files = req.files; gm(files.file.path).resize(1126).compress('JPEG').quality(quality) .write(newRoute,function(err){ //do some stuff to save changes on db }); 

现在,这个function目前在我的本地设备上完美运行,但是在服务器上它不会让步,任何人都有什么想法? 应用程序创build文件夹和文件夹模式应该是0777,虽然当我用sshlogin,似乎他们可能是0755,虽然我不知道这是所有与权限做,因为我有mp3上传工作正常。 这是当imagemagick和graphicsmagick进来发挥这种情况发生。 有任何想法吗?

我偶然发现了这个问题,因为我有同样的问题。 这是我如何解决它:

运行一个简单的GM命令来找出问题:

 gm convert -size 120x120 randomimage.jpg -resize 120x120 thumbnail.jpg 

我的是GM没有configuration支持JPG格式。 我只是从usr / local删除所有的GM文件,然后运行:

 sudo yum install GraphicsMagick GraphicsMagick-devel 

在这之后,所有事情都按照假定的方式工