Nginx + Unicornをつかう(手抜き記事)
今日はサザンのライブだった!!!
幸せな時間だったなあ。。
サザン最高。桑田さん最高。
ということで、今日はあんまり作業できなかったので、Unicornを使ってみた感じをさっくりと書く。
Vagrantfile書いてNginxインストールしてrbenvでRubyインストールして、みたいなのは今度まとめる。
今日は一応更新しましたというだけの手抜き記事。本当に自分のメモ書き&備忘録的内容なので、他の方にはあんまり参考にならないと思う。
...
ここまで書いてから結局結構時間かかった。。ねむい。。すぐハマる。。
Unicorn
まずrails new
で生成されるGemfileの、unicornの行のコメントを解除。
gem 'unicorn'
でインストール。
$ bundle install
unicornの設定ファイルを用意する。
config/unicorn.rbに以下を保存。
listen '/tmp/unicorn.sock' pid '/tmp/unicorn.pid'
unicornを起動してみる。
$ unicorn_rails -c config/unicorn.rb
JavaScriptランタイムが無いっていうエラーが出た。
therubyracerの行のコメントを解除。
$ gem 'therubyracer', platforms: :ruby
インストール。
$ bundle install
unicornを起動してみる。
こんなエラーが出た。
Sorry, you can't use byebug without Readline. To solve this, you need to rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get install libreadline-dev` and then reinstall your Ruby.
確認してみるとreadlineは既に入ってるように見える。なぞ。
ググったら以下の記事が見つかった。
以下を追加すればいいとのこと。神。
gem 'rb-readline'
言われた通り上記をGemfileに追加してインストール。
$ bundle install
unicornを起動してみる。
$ unicorn_rails -c config/unicorn.rb
今度はうまくいった。
Nginx
/etc/nginx/nginx.confを以下の通り編集した。(httpブロック内)
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream unicorn_app { server unix:/tmp/unicorn.sock; } server { listen 80; server_name _; location / { proxy_pass http://unicorn_app; } } }
確認
unicorn起動して、nginx起動して、nginxのポートにアクセスしてRailsのデフォルトページが表示されればok。
まとめ
サザン最高!
(内容はちゃんとまとめ直します。。)