アリクラウド(aliyun)サーバ上でRuby On Rails生産環境を構築する


最近いつもアリクラウドのサーバーを配置して、多くの问题に出会って、今まとめて、みんなに参考にします~~
1、アリクラウドのワンタッチインストールweb全環境
  • ワンタッチインストールweb全環境sh.zip圧縮パッケージ
  • をダウンロード
  • サーバにアップロードし、スクリプトを解凍、実行します.具体的な手順は、ここ
    $ mv sh.zip /home/tmp/ & cd /home/tmp
    $ unzip sh.zip
    $ chmod -R 777 sh & cd sh
    
    #             
    #    
    $ ./install.sh
    
    #    
    $ ./install_nginx_xxx.sh
    $ ./install_mysql_xxx.sh
    
  • を参照してください.
    2、RVMと指定されたRubyバージョンのインストール
  • インストールRVMと指定されたRubyバージョン
    $ curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
    
    #        ,      source  
    
  • 正常にインストールされたかどうかを確認する
    $ ruby -v
    ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
    
    $ gem -v
    2.1.9
    
  • gem sourceを交換し、gemダウンロード速度$gem source-rを向上https://rubygems.org/$ gem source -a http://ruby.taobao.org


  • 3、gitのインストール、javascript実行時環境nodeのコンパイル.js
  • gitツール
    $ yum install git
    
  • をインストール
  • nodeをコンパイルする.js(javascriptランタイム環境)
    $ git clone https://github.com/joyent/node.git
    $ cd node
    $ ./configure && make && make install
    
    #      ,     python   2.6 2.7
    #    bz2,  yum install bzip2-devel ,    python
    
  • あなたのプロジェクトをクローン
    $ git clone path/to/your/project.git
    
    #       gem 
    $ cd path/to/your/project
    $ bundle install
    
  • 4、unicornファイルを構成し、生産環境を実行する
  • unicorn構成例config/unicornを表示する.rb
  • unicron生産環境
    $ unicorn_rails -c config/unicorn.rb  -E production -D
    
  • を起動
  • unicornプロセス
    $ kill -9 $(cat tmp/pids/unicorn.pid )
    
  • を閉じる
    5.nginx仮想ホストの構成
  • nginx仮想ホスト構成
    $ vim /path/to/your/nginx/vhosts/xxxx.conf
    
  • を追加
  • 構成内容(漢字を対応する有効な内容に置き換える):
    upstream unicorn_server
    {
      server unix:     /tmp/sockets/unicorn.sock fail_timeout=0;
    }
    server 
    {
      listen       80;
      server_name    ;
      root      /public;
    
      location / 
      {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        if (!-f $request_filename) {
           proxy_pass http://unicorn_server;
           break;
        }
      }
    
      location ~ ^/(assets)/  
      {
          expires max;
          add_header Cache-Control public;
      }
    }
    
  • 友情のヒント
  • Low Memory Server Add Memory Release Task
    $ vim /etc/crontab
    
    最後の行に次の内容を追加します(毎日午前1時にメモリを解放します):
    00 1 * * * echo 3 > /proc/sys/vm/drop_caches  
    
  • 共通構成情報nginx+unicorn