質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

798閲覧

AWS(EC2)でunicorn_railsを起動時にエラーが発生してしまう。

iwa_o_r

総合スコア10

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

3クリップ

投稿2019/03/10 08:09

編集2019/03/11 02:03

前提・実現したいこと

unicorn_railsを使用してRailsを起動したい。

実行コマンド

bundle exec unicorn_rails -c config/unicorn.conf.rb -E production -D

エラー内容

sh

1$ bundle exec unicorn_rails -c config/unicorn.conf.rb -E production -D 2master failed to start, check stderr log for details

log

1cat log/unicorn.log -n 2 1 I, [2019-03-09T13:48:50.392727 #18970] INFO -- : Refreshing Gem list 3 2 bundler: failed to load command: unicorn_rails (/var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/bin/unicorn_rails) 4 3 ArgumentError: wrong number of arguments (given 0, expected 2) 5 4 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/gems/unicorn-5.5.0/lib/unicorn.rb:49:in `block in builder' 6 5 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/gems/unicorn-5.5.0/bin/unicorn_rails:139:in `block in rails_builder' 7 6 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/gems/unicorn-5.5.0/lib/unicorn/http_server.rb:794:in `build_app!' 8 7 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/gems/unicorn-5.5.0/lib/unicorn/http_server.rb:141:in `start' 9 8 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/gems/unicorn-5.5.0/bin/unicorn_rails:209:in `<top (required)>' 10 9 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/bin/unicorn_rails:23:in `load' 11 10 /var/www/projects/プロジェクトの名前/vendor/bundle/ruby/2.5.0/bin/unicorn_rails:23:in `<top (required)>'

設定ファイル

 ```ruby
# config/unicorn.conf.rb
1 # set lets
2 $worker = 2
3 $timeout = 30
4 $app_dir = "/var/www/projects/プロジェクトの名前"
5 $listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir
6 $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir
7 $std_log = File.expand_path 'log/unicorn.log', $app_dir
8 # set config
9 worker_processes $worker
10 working_directory $app_dir
11 stderr_path $std_log
12 stdout_path $std_log
13 timeout $timeout
14 listen $listen
15 pid $pid
16 # loading booster
17 preload_app true
18 # before starting processes
19 before_fork do |server, worker|
20 defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
21 old_pid = "#{server.config[:pid]}.oldbin"
22 if old_pid != server.pid
23 begin
24 Process.kill "QUIT", File.read(old_pid).to_i
25 rescue Errno::ENOENT, Errno::ESRCH
26 end
27 end
28 end
29 # after finishing processes
30 after_fork do |server, worker|
31 defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
32 end

※ややこしくて申し訳ありませんが、実際のフォルダ名からプロジェクトの名前と変更してあります。 見た感じ引数エラーだったのでunicornの設定ファイルにミスがあるのかなと思いましたが、おかしなところが見つからず。 検索しても同じ事象の方が見つからなかったため、質問させていただきました。 ご回答のほど、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私も同じエラーに遭遇しましたが、以下のサイトを参考にunicornのバージョンを下げたところ解決しました。

https://stackoverflow.com/questions/55031954/unicorn-refreshing-gem-list

bundle execをつけて起動したところ起動するようになりました。

投稿2019/03/12 03:47

yuukihayashi

総合スコア147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iwa_o_r

2019/03/12 03:51

なるほど…。 帰ったら試してみます!ありがとうございます!!
iwa_o_r

2019/03/12 14:27

先に進みました!!!ありがとうございます! メソッドの中身が色々変わってたんですね…今後詰まった時はその観点も確認するようにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問