闲置阿里云机器一台,当前安装的的是 Ubuntu 10.10 X64(不能连续重置同一个系统,这次是 10.10,下次重置只能是 12.04 等其他系统),有需要可以再更换。
服务器 IP(系统已重置):
42.121.123.230
用户名:
ruby
密码: 由于工作日较忙的缘故,不方便监测主机的使用情况。请发送邮件到 xinzhi.xiang 爱特 me 点 com 索要密码。周末密码直接开放。
附一个 50MB 的又拍云测试空间:
upload_url: "http://ruby-china-1103.b0.upaiyun.com"
upyun_username: "ruby-china"
upyun_password: "Ruby-china1103"
upyun_bucket: "ruby-china-1103"
请大家尽量以部署 https://github.com/ruby-china/ruby-china 测试(公共帐号请勿部署敏感的私人代码),方便集中讨论各种问题。本人也是新手,折腾 rails 几个月,最近尝试线上部署,希望和大家一起交流呢。
楼主大赞~ 手比较快,已经安装好 rvm, ruby, rails,redis,pygments,ImageMagick 等软件了。 其实我已经在上面跑成功了 尝试线上部署,个人建议还是自己瞎折腾比较好。不了解过程,一键布暑,反而不利于学习。
安装 git
sudo apt-get install git
2.安装 rvm
curl -L https://get.rvm.io | bash -s stable
source ~/.bash_profile
3.安装 readline 和 ruby 以及 rails
rvm pkg install readline(后面报错了,提示rvm reinstall all --force,按之操作)
安装 ruby:
rvm install 1.9.3
设置为默认版本:
rvm use 1.9.3 --default
创建 gemset:
rvm use 1.9.3@rails32 --create --default
克隆 ruby-china 代码:
git clone git://github.com/ruby-china/ruby-china
更改 ruby-china 源: 直接拷贝的.gemrc 文件:
:backtrace: false :benchmark: false :bulk_threshold: 1000 :sources: - http://ruby.taobao.org/ :update_sources: true :verbose: true gem: --no-ri --no-rdoc 进入目录,运行 ruby setup.rb。提示:
Bundler [Yes] Python 2.5+ [Yes] Pygments 1.5+ [No] MongoDB 2.0+ [No] Redis 2.0+ [No] Memcached 1.4+ [No] ImageMagick 6.5+ [No] 安装之:sudo apt-get install imagemagick memcached mongodb memcached
①wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz ②下载配置文件和 init 启动脚本 (别人的配置文件,注意修改下文件中的用户和组) mkdir bin & cd bin wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis_server wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf sudo cp redis_server /etc/init.d/redis-server sudo chmod +x /etc/init.d/redis-server sudo cp redis.conf /etc/redis.conf ③初始化用户和日志路径 sudo mkdir -p /var/lib/redis sudo mkdir -p /var/log/redis sudo chown redis.redis /var/lib/redis sudo chown redis.redis /var/log/redis ④设置开机自动启动,关机自动关闭 sudo update-rc.d redis-server defaults ⑤启动 Redis sudo /etc/init.d/redis-server start ⑥启动 client 客户端连接: $ redis-cli redis> set foo bar OK redis> get foo "bar" 4.修改 config 目录下的 redis.yml 和 mongoid_yml 的配置文件,主要是主机 IP 和端口。 5.创建 MongoDB 目录:
mkdir -p MongoDB/data MongoDB/log
touch MongoDB/mongod.log
wget https://raw.github.com/snails/mongodb-mac-startup/master/MongoDB/MongoDB bin/mongodb
chmod +x bin/mongodb
启动 mongodb:
mongodb start
启动 redis:
redis_server start
____以上文件在/home/ruby/bin 目录____
启动 ruby-china:
rails s
Start Sidekiq service:
bundle exec sidekiq -c config/sidekiq.yml
管理员账号:Admin/ruby-china
#7 楼 @chenge http://42.121.123.1:3000 有人已经开启了 3000 端口的进程,不能再启动了。需要的话,你排个时间,我帮你重置整个系统,你重新再来?每天只能重装一次系统。
ngix 配置文件:/etc/nginx/conf.d/unicorn.conf, /etc/nginx/nginx.conf. unicorn 配置文件: /home/ruby/www/data/ruby-china/current/config
现在可以直接访问:http://42.121.123.1了。
btw.刚才的问题原因是 production.rb 中配置了 asset_url 为又拍云的 URL,将其注释掉即可。
/home/ruby/ruby-china/config/deploy.rb中的又拍云账号确定是对的?用unicorn部署后,获取的是http://ruby-china-files-dev.b0.upaiyun.com/assets/front-48c7410c99ba1a12daf380421fea1ca8.cssCSS,汗的
ruby@AY12110309054716f2580:~$ free -m
total used free shared buffers cached
Mem: 7729 5841 1887 0 186 4776
-/+ buffers/cache: 878 6850
Swap: 0 0 0
内存 8G!
试了一下,setup.rb 运行过程中,初始化数据库时遇到问题:
Install gems... [Done]
Seed default data...rake aborted!
The operation: #<Moped::Protocol::Command
@length=179
@request_id=4
@response_to=0
@op_code=2004
@flags=[:slave_ok]
@full_collection_name="ruby_china_dev.$cmd"
@skip=0
@limit=-1
@selector={:findAndModify=>"mongoid.auto_increment_ids", :query=>{:_id=>:site_configs}, :update=>{"$inc"=>{:c=>1}}, :upsert=>true, :new=>true}
@fields=nil>
failed with error "no such cmd"
Tasks: TOP => db:seed
(See full trace by running task with --trace)
UPDATE: 原因清楚了,Ubuntu 10.10 直接安装的 Mongodb 版本很低。