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)
些細なことでも書いていこー!