Unicornをstartさせる時にエラーが出て困っております。
環境
AWS EC2
OS:Amazon Linux
Rails: 4.2.6
Ruby: 2.2.2
nginx: 1.8.1
unicorn: 5.1.0
エラー文
unicorn_rails -c /var/www/rails/rails_app/config/unicorn.conf.rb -D -E production
↑を叩くと、
↓が出る。
/home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/configurator.rb:88:in `block in reload': directory for pid=/var/www/rails/rails_app/tmp/pids/unicorn.pid not writable (ArgumentError) from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/configurator.rb:84:in `each' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/configurator.rb:84:in `reload' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/configurator.rb:65:in `initialize' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:76:in `new' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:76:in `initialize' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/bin/unicorn_rails:209:in `new' from /home/ec2-user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/bin/unicorn_rails:209:in `<top (required)>' from /home/ec2-user/.rbenv/versions/2.2.2/bin/unicorn_rails:23:in `load' from /home/ec2-user/.rbenv/versions/2.2.2/bin/unicorn_rails:23:in `<main>' master failed to start, check stderr log for details
rails_app/tmp/pids/unicorn.pidをtouchで作ったりしましたがダメでした。
unicornの設定
unicorn.conf.rb
$worker = 2 $timeout = 30 $app_dir = "/var/www/rails/rails_app" $listen = '/var/www/rails/rails_app/tmp/sockets/.unicorn.sock' $pid = '/var/www/rails/rails_app/tmp/pids/unicorn.pid' $std_log = '/vae/www/rails/rails_app/log/unicorn.log' # set config worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid # loading booster preload_app true # before starting processes 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 finishing processes after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
これまでやったこと
rails_app/tmp/pids/unicorn.pidを手動で作成
「unicorn.pid not writable」などでググるも同じ現象のひとがおらず。。。
初めて自分でサーバーを立てようとしているのですが、四苦八苦です。
どうか皆様のお力を貸してください!
まだ回答がついていません
会員登録して回答してみよう