EC2インスタンスにデプロイが完了し、unicornを起動しようとコマンドを入力したら以下のエラーが発生してしまいました。config/unicorn/production.rbに $worker = 2 と数値が設定してありますが、nilとして扱われるの原因および対処法に苦慮しております。
発生している問題・エラーメッセージ
ArgumentError: not an integer: worker_processes=nil
該当のソースコード
config/unicorn/production.rb
worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid $worker = 2 $timeout = 30 $app_dir = "/var/www/portfolio/current" $listen = File.expand_path 'tmp/sockets/unicorn.sock', $app_dir $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir $std_log = File.expand_path 'log/unicorn.log', $app_dir preload_app true before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin Process.kill "QUIT", File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
/etc/nginx/conf.d/portfolio.conf
upstream unicorn { server unix:/var/www/portfolio/current/tmp/sockets/unicorn.sock; } server { listen 80; server_name Elastic IP; root /var/www/portfolio/shared/public; access_log /var/log/nginx/portfolio_access.log; error_log /var/log/nginx/portfolio_error.log; location ~ ^/assets/ { } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://unicorn; } }
試したこと
worker_processes $worker の記載を消し、worker_processes = 2 として設定しなおすも、結果は変わりませんでした。
補足情報(FW/ツールのバージョンなど)
デプロイした際に、unicorn.sockとunicorn.pidが作成されていなかったのですが、今回のエラーとは何か関係ありますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。