Homeland 我安装 ruby-china 的简要步骤

dreamrise · 2012年02月24日 · 最后由 dreamrise 回复于 2012年02月25日 · 8956 次阅读

1、在 GemFile 中加入 TheRubyRacer 2、安装 MongoDB: apt-get install mangodb

cp config/config.yml.default config/config.yml cp config/mongoid.yml.default config/mongoid.yml cp config/redis.yml.default config/redis.yml

bundle install bundle update rails

rake assets:precompile thin start -O -C config/thin.yml

x、 chmod +x ./script/resque ./script/resque start

bundle exec rake sunspot:solr:start

x, sudo apt-get install python-setuptools x, sudo easy_install pygments easy_install pygments # 或者 pip install pygments

rake db:migrate

Deploy 的时候出现错误,说实话,Deploy 是部署的意思吗?这一步是做什么,我还没搞清楚。

cap deploy

  • executing `deploy'
  • executing `deploy:update' ** transaction: start
  • executing `deploy:update_code' updating the cached checkout on all servers executing locally: "git ls-remote git://github.com/huacnlee/ruby-china.git master" command finished in 1088ms
  • executing "if [ -d /home/ruby/www/ruby-china/shared/cached-copy ]; then cd /home/ruby/www/ruby-china/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 3c6956b8927ebe419a9140b5cf32cd47a1a2c7ea && git clean -q -d -x -f; else git clone -q --depth 1 git://github.com/huacnlee/ruby-china.git /home/ruby/www/ruby-china/shared/cached-copy && cd /home/ruby/www/ruby-china/shared/cached-copy && git checkout -q -b deploy 3c6956b8927ebe419a9140b5cf32cd47a1a2c7ea; fi" servers: ["58.215.172.218"] Password: *** [deploy:update_code] rolling back
  • executing "rm -rf /home/ruby/www/ruby-china/releases/20120224010913; true" servers: ["58.215.172.218"] ** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: 58.215.172.218 (Net::SSH::AuthenticationFailed: ruby) connection failed for: 58.215.172.218 (Net::SSH::AuthenticationFailed: ruby)

求帮助,解释下 Deploy

#2 楼 @dreamrise deploy 这东西我也没玩过,毕竟是自己玩。好像是自动发布到 web 服务器上的东东。可以理解为一个强大的 shell 脚本,一个命令,你本机的东西就部署到服务器上了。ruby-china 在本机跑,用 rails s 就可以了。但是我遇到个问题,就是 bootstrap 的 gem 里的 js,css 好像没进 assets pipeline。正解决中。。。

#2 楼 @dreamrise 用的 Capistrano 要求你的服务器上已经配置好运行环境,deploy 就会上去更新代码,重启各种服务(按脚本中的配置)

#4 楼 @ShiningRay 终于明白了,谢谢 saber

刚跑起来,进去一看,主页能浏览了,但是一注册用户就报错了。

Errno::ECONNREFUSED in AccountController#create

Connection refused - Unable to connect to Redis on 127.0.0.1:6379 Rails.root: /home/niuniuqiu/projects/ruby-china

Application Trace | Framework Trace | Full Trace app/models/user.rb:136:in `send_welcome_mail' Request

Parameters:

{"utf8"=>"✓", "authenticity_token"=>"nus0STq96eRiOrQJD9FfAdQrY0UktZdezePeaV/kv4Q=", "user"=>{"login"=>"admin", "name"=>"admin", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"提交注册信息"}

貌似是 Redis 没有启动。原来是 Redis 没有安装,也不知道为什么装 RUBY-CHINA 的时候完全不报有关这个的错误。

Redis 的官方网站 http://redis.io/download 也有安装方法。

自己解答一下:http://who0168.blog.51cto.com/253401/626345 一.redis 介绍 redis 是一个 key-value 存储系统,与 memcached 类似,但是解决了断电后数据完全丢失的现象。支持数据类型有 string,lists,sets,zsets。这些数据类型都支持 push/pop,add/remove 以及取交集并集差集等操作,对这些操作都是原子性的,redis 还支持各种不同的排序能力。

#8 楼 @jinleileiking

多谢提醒,本来还打算编译源代码的。UBUNTU 下直接 sudo apt-get install redis-server 即可。

安装 redis 后 注册用户问题已解决。呼。 bindiry 写的 http://ruby-china.org/topics/57 不错,只不过,我没有去编译 mongodb 和 redis。直接 apt-get 了。今天还是第一次正式接触这两个东东。

呃,又发现问题,发帖子的时候选择主题类型没用东西可以选,发不了贴。

有 1 处问题导至无法提交:Node 不能为空字符

应该是有数据没导入数据库。

rake db:migrate 有全部重新执行的选项吗?

关于主题类型,编辑 /home/niuniuqiu/projects/ruby-china/db/seeds.rb 去掉插入代码的注释后运行 rake db:seed 后,自动插入数据后解决。

我真是太棒了。加油。

其后又发现用户无法退出,出现http://ruby-china.org/topics/1364 所说的情况(用户登录后,我想注销,鼠标点到用户名上,下拉菜单出不来。) ,按照 下面指明的方法处理后,恢复正常。

quakewang 14 楼,于 9 小时前回复 #13 楼 @jinleileiking 看上去是 precompile 的 asset 导致的,你清空 public/assets 然后清理一下浏览器缓存就能够恢复正常。开发环境下请求获得的 application.js 内容不应该包含其他 js。

修改 config/config.yml 中的 admin_emails: "[email protected] [email protected]" 后可用相应用户,进入后台管理界面 http://localhost:3000/cpanel

相关代码:projects/ruby-china/app/controllers/cpanel/application_controller.rb before_filter :require_admin

def require_admin if not Setting.admin_emails.include?(current_user.email) render_404 end end

需要 登录 后方可回复, 如果你还没有账号请 注册新账号