初心者インフラエンジニアが困ったときに試行錯誤するブログ

インフラエンジニアが,開発の勉強をするときのログを残します

【EC2環境構築】nginx+unicorn+railsでhelloworldする

実現したいこと

nginx+unicorn+railsでhelloworldしようと思います. 成功したら,コンテナ化するのを次回に行おうと思います.

OSは,Amazon Linux 2を使用します. RHEL7ベースなので,CentOS7系ですね.

やったこと

とりあえずEC2インスタンスのバージョンを確認

$ grep -H "" /etc/*version ; grep -H "" /etc/*release
...
/etc/system-release:Amazon Linux 2

これでした

nginxのインストール

$ sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
$ sudo yum install nginx
$ nginx -v
# 自動起動
$ sudo systemctl enable nginx
$ sudo systemctl start nginx

EC2インスタンスのセキュリティグループから,インバウンドルールで自分のPCのIPのHTTP接続を許可して,接続!

Welcome to Nginx!!!!!

きた!!!

次に,適当にrails appをgit clone します.

gitのインストール

# wgetのインストール
$ sudo yum install wget
# gccのインストール
$ sudo yum install gcc
# 依存関係のライブラリインストール
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker autoconf
# git のインストール
$ wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
$ tar vfx git-2.9.5.tar.gz
$ cd git-2.9.5
$ make configure
$ ./configure --prefix=/usr
$ make all
$ sudo make install
$ git --version
git version 2.17.2

EC2インスタンスrailsインストール

# 適当にappディレクトリ作成
$ mkdir hogehoge
$ cd hogehoge

# 適当なrails appをgit clone
$ git clone [適当なhello-worldのあるrailsリポジトリurl]

# rbenvからのrubyのインストール
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ ~/.rbenv/bin/rbenv init
$ source ~/.bash_profile
$ rbenv -v
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo ~/.rbenv/plugins/ruby-build/install.sh
$ rbenv install -l
$ sudo yum install -y openssl-devel readline-devel zlib-devel 
$ sudo yum install bzip2 #bzipがないと展開できないと言われた
$ rbenv install 2.3.3
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv global 2.3.3

# railsのインストール
$ gem install rails 
$ cd hogehoge
$ yum install sqlite-devel #先にこれを入れておかないとsqlite3が入らない
$ sudo yum -y install gcc-c++ #これを入れておかないとtherubyracerが入らない
$ vi Gemfile 
# javascript
gem 'therubyracer' #追加
$ bundle install --path vendor/bundle
$ bundle exec rails s

サーバーが立ち上がりました.まだviewの確認はしていないですが. 続きはまた後ほど行います

注意点

参考

以下の記事を参考にさせていただきました.

https://qiita.com/oo2kazuma/items/015274769744545dd081 https://qiita.com/akito1986/items/56198edcafc222b320a8 https://qiita.com/MuuKojima/items/afc0ad8309ba9c5ed5ee https://qiita.com/homines22/items/7572cdba2d60a00a3ffc https://akio0911.net/archives/2670 http://q.hatena.ne.jp/1211095909 https://qiita.com/micheleno13/items/c0f8160b0deb2984677f

本記事について

本記事は,学習を目的に書かれています.

間違い,改良案などございましたら,コメントしていただけると幸いです.

基本的に編集途中ですので,何を書いてほしいかもコメントいただけると,

その情報を中心に追記します.