読者です 読者をやめる 読者になる 読者になる

きょこみのーと

元六本木でGo書いてました。今はVRでGo書いてます。

GoogleComputeEngineのVMインスタンスにerrbitを構築

はじめに

errbitを業務で使っているので、自分用のSandboxがほしくて作ろうかなと思ってやってみたら、 思った以上に苦戦したので備忘録がてら残します。

※herokuでの導入例はよくあるのですが、ローカルとかAWSとかでの記事があまり見当たらず...

苦戦したのは、たぶん自分がRails初心者なのが理由かと思いますが一応

環境について

  • GoogleComputeEngineのVMインスタンスn1-highcpu-2(vCPU 2 個、メモリ 1.8 GB)
  • OSはubuntu 14.04

※ちなみにf1-micro(vCPU 1 個、メモリ 0.6 GB)はメモリ不足でbundle installコケますのでご注意ください。

rubyとかその他必要な物をinstall

色々更新とinstall

$ sudo apt-get update
$ sudo apt-get install -y mongodb
$ sudo apt-get install -y libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libzip-dev libssl-dev
$ sudo apt-get install -y libreadline6 libreadline6-dev
$ sudo apt-get install -y g++
$ sudo apt-get install -y make
$ sudo apt-get install -y git

rubyのバージョン管理はrbenvにした。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source .bash_profile

2.1.0だとlibreadlineのバージョンが上がって型の定義が変更な不具合で詰んだので、2.1.2にしました。

$ rbenv install -v 2.1.2

install ながい。。。

$ rbenv rehash
$ rbenv global 2.1.2

bundlerとかinstall

$ gem install bundler
$ gem install therubyracer

errbit起動

ちなみにinstallしたerrbitのリビジョンはこちら 。更新が活発なのでご注意ください↓

errbit/errbit at d3d7ad54f7b136a804d5cb7c9a118ae35b7e5c7a · GitHub

errbitをgit cloneして手順通り起動。

$ git clone https://github.com/errbit/errbit
$ cd errbit
$ bundle install
$ rake errbit:bootstrap
$ sudo script/rails server -p 80

supervisorで常駐させる

無事起動したけど、常駐してほしいので、雑にsupervisorを導入。

$ sudo apt-get install supervisor
$ sudo vim /etc/supervisor/conf.d/supervisord.conf

supervisord.conf

[program:errbit]
command=sudo /home/kyokomi/.rbenv/shims/ruby /home/kyokomi/errbit/script/rails server -p 80
user=kyokomi
autorestart=true
stdout_logfile=/var/log/supervisor/jobs/errbit.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=5
stdout_capture_maxbytes=1MB
redirect_stderr=true

supervisor起動

sudo service supervisor start

おわり

Goでエラー投げまくってる。

f:id:kyokomi:20150128222115p:plain

参考