Назад | Перейти на главную страницу

как правильно настроить ImageMagick на сервере AWS с помощью nodejs и express

так что в основном я какое-то время боролся за то, чтобы imagemagick и / или graphicsmagick правильно работали с моим приложением узла, до сих пор я следил за источником установки из http://www.imagemagick.org/script/install-source.php#unix.

подробности на моем сервере включают

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

и кажется, что установка прошла успешно, однако, когда я запускаю код через узел с gm (https://npmjs.org/package/gm) Я не получаю ошибок, но файлы не записываются, я опубликую пример кода функции публикации изображений.

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

});

Теперь это в настоящее время отлично работает на моем локальном устройстве, однако на сервере оно не сдвинется с места, у кого-нибудь есть идеи о том, что происходит? приложение создает папки, а режимы папок должны быть 0777, хотя, когда я вхожу в систему с помощью ssh, кажется, что они могут быть 0755, хотя я не уверен, что все это связано с разрешениями, так как у меня есть загрузка mp3 нормально. это происходит, когда в игру вступают imagemagick и graphicsmagick. Любые идеи?

Я наткнулся на этот вопрос, потому что у меня была такая же проблема. Вот как я это исправил:

Выполните простую команду GM, чтобы выяснить проблему:

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

Моя была в том, что GM не был настроен для поддержки JPG. Я просто удалил все файлы GM из usr / local и запустил:

sudo yum install GraphicsMagick GraphicsMagick-devel

После этого все заработало как положено.