Я пытаюсь развернуть рельсы на jRuby, используя файл .war с помощью Warbler (Tomcat) и/или Torquebox 4 (Wildfly). Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как обрабатывать закачки с помощью Carrierwave или Paperclip в этом случае. Идеальная загрузка должна храниться вне войны, так как она может быть заменена более новой версией приложения в любое время. Я попытался создать символическую ссылку (uploads) в общедоступном каталоге, прежде чем я упаковал приложение в качестве военного файла в каталог/home/username/uploads (разрешения назначены на 777), но это не работает (я получаю ошибку 500).Как обрабатывать закачки и журналы в Rails при развертывании в качестве .war-файла?
Также как я могу получить доступ к production.log после того, как я развернул файл войны? Или где я должен разместить журналы?
UPDATE Я понял, как конфиг Carrierwave для хранения загрузки вне войны файла:
if Rails.env.development?
CarrierWave.configure do |config|
config.root = "/Users/Username/username_uploads/uploads"
end
elsif Rails.env.production?
CarrierWave.configure do |config|
config.root = "/home/username/username_uploads/uploads"
end
end
Теперь Carrierwave загружает файлы без проблем, но я получаю ошибку 404 при попытке просмотра их. Я попытался включить символическую ссылку в файл войны в папку uploads, но не успел. Я попытался создать его перед запуском warble war, а также после того, как приложение было развернуто в Tomcat (внутри папки app_name).
Любая идея, как решить эту проблему?
UPDATE 2 Я нашел рабочее решение здесь: Configure Symlinks for single directory in Tomcat
Короче говоря: кд в каталог разобранной войны (вы можете найти это под кот/WebApps), что кот создан (если имя загруженный файл войны - yourapp.war, тогда имя каталога будет yourapp в Tomcat 8). Создать папку с датой загрузки sudo mkdir uploads
Создайте точку монтирования:
Я еще не проверял это с Wildfly, но я буду позже сегодня или завтра. Если я правильно помню, он не будет автоматически взорвать военные файлы по умолчанию.
Я все еще хотел бы знать дополнительные, более простые, различные решения проблемы, хотя, а также мнения о решении, которое я нашел.
Привет, вам удалось найти решение этой проблемы. Я также пытаюсь выяснить, где хранить файлы журнала приложений. – kobra
Привет, к сожалению, я еще не понял этих. Я попросил парней-носителей на github, но они сказали мне спросить об этом здесь. Но как вы не видите ответа. –
Я также попросил ребят из Paperclip в Github, и я получил это предложение: «Вы пытались взломать военный файл? Я делаю это с Tomcat, и загрузка файлов, похоже, сработает. В противном случае я, вероятно, взглянул бы на указание путь где-то еще: https://github.com/thoughtbot/paperclip#understanding-storage "- У меня не было времени попробовать это. Если он работает для вас, пожалуйста, поделитесь им здесь, потому что он может работать и для Carrierwave. –