我正在尝试上传一个全新安装的Typo 6.1,我只是解压缩并选择了mysql作为数据库。正如人们所料,它在本地工作正常。但是当我将它推送到CloudFoundry时,应用程序将无法启动。它也没有给我一个错误,它只是拒绝开始。
有没有其他人让Typo 6在CloudFoundry上运行,如果有,你采取了哪些步骤来配置它?
答案 0 :(得分:2)
是的,我在http://typo-jambay.cloudfoundry.com/
工作了步骤1 - 对Gemfile进行编辑,较新的rake(10.0.3)似乎不高兴所以我们应该使用相同的次要更新。
变化:
gem 'rake', '>= 0.9.2'
到
gem 'rake', '~> 0.9.2'
步骤2 - 确保使用您计划使用的数据库运行bundle install。我使用了postgress,所以我将config / database.yml作为config中的postgres版本的副本。
步骤3 - 您可以像这样使用manifest.yml文件,如果您拥有最新版本的vmc(gem install vmc --pre),vmc push应该处理所有事情:
---
applications:
- name: typo
framework: rails3
runtime: ruby19
memory: 256M
instances: 1
url: typo.${target-base}
path: .
services:
postgresql-ccdb5:
label: postgresql
答案 1 :(得分:1)
错字6是一个旧的Rails项目,但我有一个副本工作。它位于http://typo6.cloudfoundry.com
因此,要按照这些步骤进行部署;
克隆错字6存储库 - git clone git://github.com/fdv/typo.git
简化Gemfile,确保'mysql2'在那里
source :rubygems
gem 'rails', '~> 3.2.6'
gem 'mysql2'
gem 'require_relative'
gem 'htmlentities'
gem 'json'
gem 'bluecloth', '~> 2.1'
gem 'coderay', '~> 0.9'
gem 'kaminari'
gem 'RedCloth', '~> 4.2.8'
gem 'addressable', '~> 2.1', :require => 'addressable/uri'
gem 'mini_magick', '~> 1.3.3', :require => 'mini_magick'
gem 'uuidtools', '~> 2.1.1'
gem 'flickraw-cached', :require => 'flickraw'
gem 'rubypants', '~> 0.2.0'
gem 'rake', '~> 0.9.2'
gem 'acts_as_list'
gem 'acts_as_tree_rails3'
gem 'fog'
gem 'recaptcha', :require => 'recaptcha/rails', :branch => 'rails3'
gem 'prototype-rails', '~> 3.2.1'
gem 'prototype_legacy_helper', '0.0.0', :git => 'http://github.com/rails/prototype_legacy_helper.git'
gem 'rails_autolink', '~> 1.0.9'
gem 'dynamic_form', '~> 1.1.4'
将config / database.yml.mysql移至config / database.yml
执行bundle install
使用vmc进行部署,这是重要的部分。当询问它是什么类型的应用程序时,选择“其他”然后选择“机架”。继续选择ruby1.9作为框架,并确保为应用程序分配了大量的内存,至少128M。同时向应用程序添加新的MySQL服务。此时,应用程序应该部署并启动OK。
如果您现在访问该应用程序,您应该看到Rails 500错误。这是因为数据库尚未播种。要为数据库设定种子,您需要在本地创建一个到数据库的隧道,这样您就可以针对它运行db:seed rake任务。
像vmc tunnel [name of the service]
那样创建隧道,为客户端选择'none',当隧道绑定时,您应该看到数据库弹出窗口的凭据和名称。在另一个控制台窗口中修改database.yml文件,使其具有这些详细信息,确保地址为127.0.0.1,而不是localhost。
login: &login
adapter: mysql2
host: 127.0.0.1
username: uzkeDkKwBnkmC
password: pcf4oP3N2UbdV
port: 10000
development:
database: df67f078353974ccd8b090ccb726c9109
<<: *login
test:
database: typo_tests
<<: *login
production:
database: typo
<<: *login
隧道仍然打开,运行rake db:seed任务 - bundle exec rake db:seed
,一旦完成(可能需要几分钟),安装应该是好的!
希望这适用于你,任何问题,只是评论我的答案。
编辑:如果jambay的解决方案有效,请使用它,它更直接。
答案 2 :(得分:0)
您是否能够通过vmc logs命令检查Cloud Foundry上的日志?