请问各位:
本站 Ruby-China 有无朋友愿意教導我怎么安装本站所需环境和布署 Ruby China。
我在网上找了很多有关安装 Ruby China 的教学和资料,但都过时了
例如:
1.在 Ubuntu 上安裝 ruby-china: http://www.cnblogs.com/sjyyt/p/3164202.html
2.把我安装 ruby-china 的详细步骤发上来,寻求问题解决 https://ruby-china.org/topics/57
我尝试许多,但都出现错误或套件安装失败,非常折腾。
我的主机是 Linode VPS 日本带宽,熟悉 ubuntu、Mac 系統,期望有好人能一步步教我如何建置,我想借这机会学习下布署的过程,不論是博客或在下面留言都只要能詳細都可,非常感谢!
#2 楼 @emerson 关键是没有看到你的安装失败信息,如何确定你的问题呢?请把你的安装错误信息贴出来看一下!可以使用 14.04 没有问题!请确保已经那个安装好 ruby 以及所有的 lib 就像 @chanshunli 所说一样!
Ruby-China 可以用 Nginx Passenger 来进行上线吗?还是不需要装任何 nginx、apache 这类的 server,Ruby-China 本身就有了? 我正苦恼安装的顺序,可以教我吗?
ruby 2.1.2p95
运行 ./bin/setup 的日志怎麼看?
我是按照以下指南安裝的:
1.Ubuntu 14.04 上使用 Nginx Passenger 部署 Ruby on Rails
2.快速安装 Ruby 的产品部署环境的批量脚本 https://github.com/huacnlee/init.d
@emerson 根据这里一步一步来: https://github.com/ruby-china/ruby-china#ruby-china
Install
git clone git://github.com/ruby-china/ruby-china.git
cd ruby-china
./bin/setup
# ensure that memcached has started up
rails s
我建议楼主分三步走:
@emerson 楼主要不你先 hold 一下,我看了一下 RubyChina 的最新源码,使用的是 Rails 4.2.0.beta,略激进,所以找不到 i18n-0.7.0.beta1 是有可能的,要不等等 Rails 4.2.0 正式发布后 RubyChina 同步升级后再来折腾?
我终于知道为何一直无法 bundle install 成功,原因在:
if ENV['USE_OFFICIAL_GEM_SOURCE']
source 'https://rubygems.org'
else
source 'https://ruby.taobao.org'
end
'https://ruby.taobao.org'
研判是中国当地所设,对于海外使用 rubygems.org 是没问题的,若未清除此行反而无法正常连线。
把source“https://ruby.taobao.org'
去除后,成功运作。
成功截屏:
我现在只差一步......,能帮我看是什么问题嗎?
我执行了命令:
1.RAILS_ENV=production rake db:create db:migrate
2.rake assets:precompile
3.rails server
最后出现这一个画面,只差一步啊
還有最後一個問題:
Passenger Nignx 的配置:
server {
listen 80 default;
server_name 106.185.44.222; # 這裡填寫你真實域名
root /var/www/ruby-china/public;
passenger_enabled on;
}
最后指向 public 这样的目录是对的吗?
但我執行 rails server 後系統默認是:http://localhost:3000
该如何配置才正确?谢谢!
如果通过 nginx + passenger 部署的话,是不需要手动启动 rails server 的,nginx 收到访问请求后,passenger 会自动启动 rails instance,前提是你配置没有问题。你问配置是否正确,我建议你自己试试看,出错都会有错误信息的,可以通过错误信息去排查。
我的 nginx + passenger 配置是這樣:
server {
listen 80 default;
server_name 127.0.0.1; # 這裡填寫你真實域名
root /var/www/ruby-china/public;
passenger_enabled on;
}