アリクラウド(aliyun)サーバ上でRuby On Rails生産環境を構築する
2666 ワード
最近いつもアリクラウドのサーバーを配置して、多くの问题に出会って、今まとめて、みんなに参考にします~~
1、アリクラウドのワンタッチインストールweb全環境ワンタッチインストールweb全環境sh.zip圧縮パッケージ をダウンロードサーバにアップロードし、スクリプトを解凍、実行します.具体的な手順は、ここ を参照してください.
2、RVMと指定されたRubyバージョンのインストールインストールRVMと指定されたRubyバージョン 正常にインストールされたかどうかを確認する gem sourceを交換し、gemダウンロード速度$gem source-rを向上https://rubygems.org/$ gem source -a http://ruby.taobao.org
3、gitのインストール、javascript実行時環境nodeのコンパイル.js gitツール をインストール nodeをコンパイルする.js(javascriptランタイム環境) あなたのプロジェクトをクローン 4、unicornファイルを構成し、生産環境を実行する unicorn構成例config/unicornを表示する.rb unicron生産環境 を起動 unicornプロセス を閉じる
5.nginx仮想ホストの構成 nginx仮想ホスト構成 を追加構成内容(漢字を対応する有効な内容に置き換える): 友情のヒント Low Memory Server Add Memory Release Task 共通構成情報nginx+unicorn
1、アリクラウドのワンタッチインストールweb全環境
$ 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バージョンのインストール
$ 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
3、gitのインストール、javascript実行時環境nodeのコンパイル.js
$ yum install git
$ 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
$ unicorn_rails -c config/unicorn.rb -E production -D
$ kill -9 $(cat tmp/pids/unicorn.pid )
5.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;
}
}
$ vim /etc/crontab
最後の行に次の内容を追加します(毎日午前1時にメモリを解放します):00 1 * * * echo 3 > /proc/sys/vm/drop_caches