LoginSignup
6
1

More than 5 years have passed since last update.

アプリケーションサーバをpumaからunicornに変更した

Last updated at Posted at 2018-04-12

pumaを使用していてハングアップする現象が発生したから、unicornにしてみた。
って時にやったことを書きます。(ほぼほぼ自分メモです。)
ruby on rails初心者、初投稿なので、優しい目で読んでいただけたらと思います。
(コメントもお待ちしています)

内容

puma→unicornに移行した時にやったこと。
gemとか設定ファイルとか・・・

やったこと

Gemfileの編集

Gemfileに記載している内容を変更

pumaの箇所をコメントアウト
#gem 'puma'

unicornを追加
gem 'unicorn'

unicorn.rbを作成

config/unicorn.rbを作成
監視を行うと設定が増えるらしい・・・

config/unicorn.rb
rails_root = ENV['RAILS_ROOT']
worker_processes Integer(ENV['WEB_CONCURRENCY'] || 1)
timeout 300 # タイムアウト
preload_app true # 更新時ダウンタイム無し

# listen 8080
listen "#{rails_root}/tmp/unicorn.sock"
pid "#{rails_root}/tmp/unicorn.pid"

# ログの出力
stderr_path File.expand_path('log/unicorn.log', rails_root)
stdout_path File.expand_path('log/unicorn.log', rails_root)

railsの実行コマンドを変更

Dockerfileに記載しているrails実行コマンドを変更
今回はdevelopモードで起動
※docker-compose.ymlに記載する場合もある

Dockerfile
# 既存の実行コマンドをコメントアウト
#CMD ["rails", "s"]
CMD ["bundle", "exec", "unicorn_rails", "-c", "/opt/application/current/config/unicorn.rb", "-E", "development", "-l", "3000"]

railsのコンフィグを編集(development.rb)

ブラウザから接続した際に、assetsの内容(cssとか)のダウンロードに失敗していたため、コンフィグファイルを編集(config/environments/development.rb)
参考にしたもの

config/environments/development.rb
# 追加
config.logger = ActiveSupport::Logger.new(STDOUT)

些細なことでも書いていこー!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1