環境構築
-
EC2インスタンス生成
-
EC2インスタンスのSecurity groups確認
Ports 22 / Source : MyIP
Ports 80 / Source : Anyway
Ports 8081 / Source : Anyway
-
SSHでEC2インスタンスへConnect
-
yumアップデート
sudo yum update
** sudo su - rootに変更してからやった方がいいかもです。
** またはuserを追加してそのuserに切り替えて使う。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html
- 基本インストール
sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison git
- nginxインストール
sudo yum install nginx
sudo /etc/init.d/nginx start
- redisインストール
sudo yum --enablerepo=epel install redis
起動する。ついでに自動起動の設定もする。
sudo service redis start
sudo chkconfig redis on
- mysqlインストール
sudo yum install mysql-server mysql-devel
mysqladmin -u root password <new password>
sudo service mysqld start
- ruby-buildインストール
git clone git://github.com/sstephenson/ruby-build.git
cd ruby-build
sudo ./install.sh
- rbenvインストール
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bashrc
exec $SHELL -l
- rubyインストール
rbenv install -l
rbenv install 2.5.0
rbenv rehash
rbenv global 2.5.0
- bundlerインストール(bundler -vでバージョン確認ができない場合)
gem install bundler --no-rdoc --no-ri
- rails インストール
sudo gem install rails
- Rails アプリケーション新規作成
rails new <アプリ名> -d mysql
-dを指定しない場合はsqliteが設置されている必要がある。
- Gemfile修正(#を外す)
cd <アプリ名>
vi Gemfile
gem 'therubyracer', :platforms => :ruby
gem 'unicorn'
bundle install
- Rails アプリ確認
cd <アプリ名>
rails s
別のタブで curl -I localhost:3000
確認
- Unicornインストール
gem install unicorn;rbenv rehash
- config修正
cd <アプリ名>
vi config/unicorn.conf
# in unicorn.conf
worker_processes 2
listen '/tmp/unicorn.sock'
stderr_path File.expand_path('unicorn.log', File.dirname(__FILE__) + '/../log')
stdout_path File.expand_path('unicorn.log', File.dirname(__FILE__) + '/../log')
preload_app true
- nginxの設定ファイル編集
sudo vi /etc/nginx/nginx.conf
# in nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream unicornapp {
server unix:/tmp/unicorn.sock;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://unicornapp;
}
}
}
- nginx起動
sudo /etc/init.d/nginx start
- unicorn起動
cd <アプリ名>
unicorn -c config/unicorn.conf -D
- 動作確認
Public DNSもしくはPublic IPをブラウザで入力してRailsのWelcome aboardが表示されればOK
その他
sudo /etc/init.d/nginx stop
ps ax|grep unicorn|grep -v grep
これで表示されるmasterのプロセスをkillする
sudo /etc/init.d/nginx restart