Развертывание приложения Symfony2 в ec2 с помощью Capifony - PullRequest
2 голосов
/ 20 сентября 2011

Я пытаюсь развернуть приложение symfony2 в моем экземпляре ec2. У меня настроен файл deploy.rb, и я могу инициализировать каталог сервера с помощью cap deploy: setup. Однако, когда я запускаю cap deploy, я получаю эту ошибку: failed "sh -c 'cd /var/www/html/capifonytest/releases/20110920052019 && php app/console cache:warmup --env=prod'" on xxx.xx.xxx.xx. Вот мой файл deploy.rb:

set :application, "capifonytest"

default_run_options[:pty] = true
set :scm, :git

set :deploy_to, "/var/www/html/#{application}"

set :repository, "git@github.com:myname/myrepo.git"
set :branch, "master"
set :ssh_options, { :forward_agent => true }

set :user, "ec2-user"
set :domain, "xxx.xx.xxx.xx"
ssh_options[:keys] = [File.join(ENV["AWS_HOME"], "tsmith.pem")]

role :web,        domain                         # Your HTTP server, Apache/etc
role :app,        domain                         # This may be the same as your `Web` server
role :db,         domain, :primary => true       # This is where Rails migrations will run

set :use_sudo, true
set  :keep_releases,  3

Кто-нибудь знает хороший учебник / ресурс для развертывания приложения symfony2 в экземпляре ec2 или использования capifony / capistrano для этого? Кроме того, любые советы или приемы, чтобы заставить symfony2 работать с экземпляром ec2, были бы очень полезны. Я использую amazon linux ami 64bit, который, по моему мнению, основан на centos.


Вот более подробный фрагмент вывода:

серверы: ["107.20.247.96"]
[107.20.247.96] выполнение команды
** [out :: 107.20.247.96] find: /var/www/html/capifonytest/releases/2011092118<br /> 2846/web/css': No such file or directory<br /> ** [out :: 107.20.247.96] find: / var / www / html / capifonytest / Releases / 2011092118
2846 / web / images ': нет такого файла или каталога
** [out :: 107.20.247.96] find: /var/www/html/capifonytest/releases/2011092118<br /> 2846/web/js': No such file or directory<br /> command finished in 358ms<br /> triggering after callbacks for deploy: finalize_update '
* выполнение `symfony: cache: warmup '
* выполнение "cd / var / www / html / capifonytest / Releases / 20110921182846 && php app /
консольный кеш: разминка --env = prod "
серверы: ["107.20.247.96"]
[107.20.247.96] выполнение команды
** [out :: 107.20.247.96] Предупреждение PHP: require_once (/ var / www / html / capifonytest
/releases/20110921182846/app/../vendor/symfony/src/Symfony/Component/Locale/Reso
urces / stubs / functions.php): не удалось открыть поток: нет такого файла или каталога в
/var/www/html/capifonytest/releases/20110921182846/app/autoload.php в строке 25
** [out :: 107.20.247.96] Неустранимая ошибка PHP: require_once (): не удалось открыть требование
ired '/var/www/html/capifonytest/releases/20110921182846/app/../vendor/symfony/s
rc / Symfony / Component / Locale / Resources / stubs / functions.php '(include_path ='.: / usr
/ share / pear: / usr / share / php ') в / var / www / html / capifonytest / Releases / 201109211828
46 / app / autoload.php в строке 25
Команда завершилась за 302 мс
* [deploy: update_code] откат
* выполнение "rm -rf / var / www / html / capifonytest / Releases / 20110921182846; true"
серверы: ["107.20.247.96"]
[107.20.247.96] выполнение команды
Команда закончилась за 280 мс
ошибка: "sh -c" cd / var / www / html / capifonytest / Releases / 20110921182846 && php app
/ консольный кеш: warmup --env = prod '"на 107.20.247.96

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Немного поздно, но ...

Если вы рекурсивно chown и chgrp используете каталог развертывания (в вашем случае /var/www/html/#{application}) с пользователем развертывания, capifony должна иметь возможность очищать кеши. Другими словами:

sudo chown -R ec2-user /var/www/html/#{application}
sudo chgrp -R ec2-user /var/www/html/#{application}
0 голосов
/ 16 октября 2011

Ваши папки cache и logs, скорее всего, недоступны для записи.Проверьте секцию Setting up Permissions в книге Symfony2 для получения дополнительной информации о том, как настроить ее в различных средах.

...