AWSにRails環境を構築する
最近サーバーにCloudStackでクラウド環境を構築しているのですが、少し時間がかかかるので、Railsで作成したサービスを運営するためにAWSでRailsを動かす環境を構築しました。
WebサーバーはNginx+Unicorn、データベースはMySQLで構築しました。
その際にインストール&設定用のシェルスクリプトを作成したので、もしAWSでRails環境を構築したい人は活用してみてください。
sudo yum -y update sudo yum -y install gcc gcc-c++ zlib-devel httpd-devel curl-devel sudo yum -y install sqlite-devel curl -L https://get.rvm.io | bash -s echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile source ~/.bash_profile rvm pkg install openssl rvm reinstall ruby-2.0.0-p0 --with-openssl-dir=$rvm_path/usr gem install bundler gem install rdoc gem install rails gem install sqlite3 gem install unicorn sudo yum -y install nginx sudo /etc/init.d/nginx start
これでWebサーバーが使えるようになりました。
ただし、RailsアプリケーションをAWSのNginxで動かす場合には、以下のようにGemfileを変更してBundlerでインストールしてくだい
#gem 'therubyracer', :platforms => :ruby
↓
gem 'therubyracer', :platforms => :ruby
その後、
$rails server -d
を実行して、IPアドレスの後にポート番号を3000としてアクセスすると、Railsアプリケーションが動いていることがわかります。
(http://54.***.***.***:3000/ にアクセスするので、セキュリティーグループからカスタムTCPのポート3000を開放しておかなければならない)
あとは、ポートを指定しなくてもアクセスできるようにするのですが、まだUnicornの使い方がよく理解できていないので、わかったら追記していきます。
ちなみに、UnicornはNginxとRailsの架け橋になるアプリケーションらしいです。
つまり、ユーザーがNginxにアクセスしたら、UnicornがRailsのところまで案内してくれるってかんじですね。