【Ralis】VPS環境構築を行う前に知っておきたいこと(OS・Webサーバー選定)

投稿日:

【Rails】プログラミング初心者の勉強ブログ #73

今回VPSで一から環境構築してRailsアプリをデプロイしてみようと思います。現在実践途中なのですが、環境構築を行うにあたって、VPSやWebサーバーの選定、Railsインストール方法などに複数の選択肢があり、どれを選ぶべきなのか色々調べたことをまとめます。環境構築はいきなり始めず、あらかじめ、ある程度調べてから取り組むことをオススメします。

 

※ちなみに現在僕が実践している環境構築は、さくらVPSの「CentOS7」、Webサーバーは「Nginx」「Unicorn」、「Capistrano」でデプロイ。Rubyインストールは「rbenv」「ruby-build」、データベースは「PostgreSQL」です。

 

目次

 

VPSについて

VPSは今回さくらを使用しております。

個人開発用のインフラ選び(IaaS/PaaS/VPS)- Qiita

【初心者向け】IaaS PaaS SaaSそれぞれの違いとVPSとの比較 - Qiita

個人で開発するにあたっての環境構築を考えたとき、現状Ralisでの開発なのでHerokuが無難なのかもしれませんが、環境構築の勉強を行うためにVPSを選んでおります。

Ralisの場合、選択肢はHeroku、AWS、またはVPSなのかと思います。

 

さくらVPSで利用するOSについて

VPSの環境構築の最初に、サーバーで使用するOSの選定があります。セントOS、ウブンツ、フェドラなど色々あるLinux系のOSから何か一つ選ばなければなりません。

ネコでもわかる!さくらのVPS講座 〜第一回:VPSてなんだろう?〜 | さくらのナレッジ

【目的別】初心者におすすめのLinuxディストリビューション7選

素人にはよくわかりませんが、レッドハット系やら、デビアン系やら、調べると色々書いてあります。一応調べては見たものの、正直違いが分かる程知識がなかったので、結局さくらVPSが推奨していた「CentOS7」にしました。こだわりたい方は色々調べてみることをオススメします。

 

Webサーバー選定について

VPS環境構築は、OSの次に「Webサーバー」を選定しなければなりません。選定といっても、調べて見た限りでは「Apache」か「Nginx」が有名であり、初心者はこのどちらかの2択になるのかなと思います。

ApacheとNginxとPassengerとUnicornの違い【すごい初心者向け】

「Apache」が王道で昔から使われてきたサーバーで、「Nginx」が最近上昇してきた高速処理が行えるサーバーみたいです。調べたらどちらもそれなりに実装方法載っていたので、それなら処理が早そうな「Nginx」かなと思い、選択しました。

 

Rubyのインストールについて

Rubyのインストールも、「RVM」と「rbemv」という2パターンのバージョン管理ツールあります。

Ruby覚書 - Ruby / RubyGem / rvm / rbenv / Bundler

rbenv と RVM との違い

この2択はどのサイト見ても「rbemv」がおすすめとのことだったので、1択です。「rbenv」「RubyGems」「bundler」の3つでRubyを使っていくのが良さそうです。

Rubyはアップデートが多く、バージョンが変わりやすいので、「rbenv」という、Rubyの変化が多いバージョン関係の難しい部分を管理してくれる。Rubyには「Gem」という単位で、パッケージ(あらかじめ用意された便利なプログラムのまとまり)が存在し、それらのgemを「Gem」という単位でパッケージとして認識し、管理するシステムが「RubyGems」。「bundler」はgemのインストールなどを管理するgem。

イメージはこんな感じだと思います。バージョン管理ツールとして「rbenv」の方が「RVM」より評価されているという話みたいです。Rubyのインストールはややこしいです。

 

まとめ

VPSで必ず発生する選択肢は、「OS」と「Webサーバー」です。とりあえず調べて出てきたWebサイトやドットインストールなどを見て、いきなり始めるのではなく、あらかじめ選択肢を複数確認し、どれを選択するか調べることをオススメします。

Rubyのインストールは今回が初めてという訳ではなかったのですが、今まではとりあえず言われた通り進めてただけで、何がどうなっているのかよくわかってませんでしたが、少し謎が解けた気がします。

以上ありがとうございました。

 

-プログラミング学習
-, , , ,

Copyright© s u p ? , 2019 All Rights Reserved.