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

CentOSにrbenvでruby2.1.0インストール, あとnginxも。

More than 5 years have passed since last update.

最小構成のVMに色々いれて遊ぶ。

VM環境

  • CentOS 6.5
  • ネットワーク設定以外はまっさら。

やること

  1. rubyインストール
  2. nginxインストール

rubyはせっかくなので流行り(?)のrbenvでバージョン管理する。
コマンドはすべて一般ユーザー(rootじゃない)でやることを想定。

rbenvをいれてruby2.1.0をインストール

とりあえずコンパイルにgccが必要。あとrbenvを落としてくるのにgitが必要。
vimは好きで入れてる。

$ sudo yum -y install gcc git vim
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

.bash_profileの設定を読み込む

$ exec $SHELL -l

次にrbenvにruby-buildプラグインを入れる。あとrubyコンパイル準備。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo yum -y install libyaml libyaml-devel zlib zlib-devel readline readline-devel openssl openssl-devel libxml2 libxml2-devel libxslt libxslt-devel

いよいよruby2.1.0入れるよ。長いので気長に待つ。

$ rbenv install 2.1.0
$ rbenv rehash
$ rbenv global 2.1.0

nginxをインストール

nginxのインストールと80番ポートをあける。

$ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
$ sudo yum install nginx
$ sudo vi /etc/sysconfig/iptables #80番ポートをあける
$ sudo /etc/init.d/iptables restart

とりあえずglobalのgemにbundlerだけ入れとく。

こうしておけば、あとはプロジェクトごとにbundle initして、bundle install --path vendor/bundle的なことをすればglobalのgemを汚さないで済む。

$ rbenv exec gem install bundler
$ rbenv rehash

試しにsinatraとsqlite3でも入れて簡易APIサーバーたてる準備(だけ)やってみる

ほげほげと調べたところ、nginx + unicornの組み合わせが良いらしいのでとりあえずunicornも入れとく。
(どうせここで書くのは準備だけ...)

$ sudo yum install -y sqlite-devel
$ mkdir ~/project_name
$ cd ~/project_name
$ bundle init
$ vim Gemfile
gem "sqlite3"
gem "sinatra"
gem "unicorn"

$ bundle install --path vendor/bundle

こんな感じでrubyプロジェクトがんがん作っていける環境ができたよ!

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