apacheからnginxに乗り換える

思うところがあり、今動いているrailsアプリケーションをnginxに移している

まだまだやることはあるけど今日やった作業の備忘録を残す

環境

yumからインストール

sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
sudo yum -y install nginx

config関連作成

qiita.com

こちらの記事を参考にconfigを作成した

一点ハマったのは unicorn.rbpid '/var/www/rails/sampleApp/pids/unicorn.pid' がこちらの環境ではフォルダが存在せず

unicorn起動時にエラーになってしまうので pid '/var/www/rails/sampleApp/tmp/pids/unicorn.pid' と変更した

動かす

sudo service nginx start
bundle exec unicorn_rails -c /home/kaneta/rails/kakin/config/unicorn.rb -E development -D

メモ

  • 最初unicornをproductionで動かしたらrailsのエラーページがでるだけだった
    • どうやらアセットパイプラインと言うものが絡んでそう
    • developmentは自動でアセットをコンパイルする設定らしいが、productionは手動でやる必要がある
    • ひとまずdevelopmentで動かす
  • developmentでアセットが読み込まれない
    • 自動ビルドしたアセットは path/to/public に置かれない?
    • nginxの設定では path/to/public しか見れないようになっている
    • config.assets.debug = falseconfig/environments/development.rb に追記