AWSにrailsサーバーを構築する方法
AWSのAmazon Linux AMI にrailsサーバーをたてて外部に公開する方法。
今回はrvmを使わない。
[前提条件]
AWSのインスタンスを確保している。
SecurityGroupsの設定が完了している。
yumのアップデート
sudo yum update
必要なパッケージのインストール
sudo yum -y install gcc
sudo yum -y install gcc-c++
sudo yum -y install zlib-devel
sudo yum -y install httpd-devel
sudo yum -y install curl-devel
sudo yum -y install sqlite-devel
ruby1.9.3のインストール
mkdir src
cd src
wget ftp://core.ring.gr.jp/pub/lang/ruby/1.9/ruby-1.9.3-p392.tar.gz
tar xzf ruby-1.9.3-p392.tar.gz
cd ruby-1.9.3-p392
./configure
make
make test
sudo su - root
make install
ruby -v
AWSに元々インストールされているrubyは1.8.7。
homeのsrcとか適当にディレクトリ作ってダウンロードしたファイルはそこに入れる。
railsインストール
gem install bundler
gem install rdoc
gem install rails
rails -v
※sudo gemができないのでrootユーザーに変更して行う。
sqlliteインストール
gem install sqlite3
Unicornインストール
gem install unicorn
nginxインストール
sudo yum -y install nginx
sudo /etc/init.d/nginx start
nginx起動後にアクセスしてnginxのページが出れば成功
http://XX.XXX.XXX.XXX/
railsアプリ作成
mkdir app
cd app
rails new myapp
myappなど適当なアプリを作成。
JavaScriptを有効にする
cd myapp
vi Gemfile
gem 'therubyracer', :platforms => :rubyをコメントイン
bundle install
railsサーバー起動
rails server -d
curl -I localhost:3000
curlで起動の確認が可能。
ポートを指定して画面にアクセスすればrailsアプリを画面で確認することが可能
http://XX.XXX.XXX.XXX:3000/
niginxとunicornの設定
unicorn起動スクリプト作成。
cd myapp
vi config/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
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
sudo vi /etc/nginx/nginx.conf
nginxの設定を変更。
ファイルは全文書き換える。
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;
}
}
}
sudo /etc/init.d/nginx restart
unicorn起動
unicorn -c config/unicorn.conf -D
これでrailsのアプリが公開される。
http://XX.XXX.XXX.XXX
Author And Source
この問題について(AWSにrailsサーバーを構築する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/nekonoprotocol/items/858b3979c0da8ecafdbb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .