Help us understand the problem. What is going on with this article?

AWS Ruby Rails4 Nginx Unicorn 構築! (簡単に早めで)

More than 3 years have passed since last update.

仕様

  • AWSの仕様
    • t2.micro

実装

ポチポチして、サーバーに入れることを確認(sudo yum update)。
※セキュリティグループで、22番は、myIPで。
             80番が、anywayにしないとNginxが動かないぞ!!!
そこから、

[ec2-user@ip-172-31-35-121 ~]$ git -v
-bash: git: コマンドが見つかりません
[ec2-user@ip-172-31-35-121 ~]$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]
[ec2-user@ip-172-31-35-121 ~]$ $ 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
......
....
..
.
[ec2-user@ip-172-31-35-121 ~]$ git --version
git version 1.8.3.1

次に、rbenvを入れる。

1. ruby-buildインストール

cd
git clone git://github.com/sstephenson/ruby-build.git
cd ruby-build
sudo ./install.sh

2.rbenv, rubyインストール

cd
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
rbenv install -l
rbenv install 2.1.0;rbenv rehash
rbenv global 2.1.0

結果

[ec2-user@ip-172-31-11-135 ~]$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
[ec2-user@ip-172-31-11-135 ~]$ which gem
~/.rbenv/shims/gem
[ec2-user@ip-172-31-11-135 ~]$ which ruby
~/.rbenv/shims/ruby
[ec2-user@ip-172-31-11-135 ~]$

3.bundle 入れる

[ec2-user@ip-172-31-35-121 ~]$ bundle list
-bash: bundle: コマンドが見つかりません
[ec2-user@ip-172-31-35-121 ~]$ gem install bundler --no-rdoc --no-ri
Fetching: bundler-1.6.3.gem (100%)
Successfully installed bundler-1.6.3
1 gem installed
[ec2-user@ip-172-31-35-121 ~]$ gem list

*** LOCAL GEMS ***

bigdecimal (1.2.3)
bundler (1.6.3)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.0.0)
[ec2-user@ip-172-31-35-121 ~]$ sudo rbenv rehash
[ec2-user@ip-172-31-35-121 ~]$ ll
合計 0

4. rails 入れる

[ec2-user@ip-172-31-11-135 ~]$ gem install rails
[ec2-user@ip-172-31-11-135 ~]$ rbenv rehash
[ec2-user@ip-172-31-11-135 ~]$ rails -v
rails 4.1.4
[ec2-user@ip-172-31-11-135 ~]$ which rails
~/.rbenv/shims/

5.sqlite3いれる

$ sudo yum install sqlite-devel
$ gem install sqlite3;rbenv rehash

5`.mysql を入れる

[ec2-user@ip- ~]$ sudo yum install mysql-server mysql-devel
[ec2-user@ip- ~]$ sudo service mysqld start
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h ip-172-31-1-139 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

                                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[ec2-user@ip- ~]$ mysqladmin -u root password 'new-password!!'
[ec2-user@ip- ~]$ mysql -u root -p #でログインできるか確認

6.unicornを入れる。

これは、gemfileに

vi Gemfile
gem 'unicorn'をコメントイン
bundle install --path vender/bundle

7. railsの確認

rails server
curl -I localhost:3000

8. 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

9.nginxを入れる

sudo yum -y install nginx

10.nginxの確認

sudo /etc/init.d/nginx start
# http://xxx.compute.amazon.com/
# Welcome to nginx on the Amazon Linux AMI!と出れば成功
sudo /etc/init.d/nginx stop
# 公開パス /usr/share/ngin/html/

11.nginxの設定ファイル編集

sudo vi /etc/nginx/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;
        }
    }
}

編集後。

sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start

でブラウザを見る。

※nginx とunicornの詳細の設定は、また今度。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした