質問編集履歴

1 見出し変更

azuno_mix

azuno_mix score 69

2016/09/28 21:43  投稿

unicornの起動がうまくいかない
###前提・実現したいこと
vagrant(CentOS6)上のRailsアプリケーションをunicorn+nginxで構築したサーバで動かしたい。
別の環境では動くことが確認できているのですが、現在うまく立ち上がらずに困っています。
###発生している問題・エラーメッセージ
```
$ rake unicorn:start
bundle exec unicorn_rails -c /vagrant/config/unicorn/development.rb -E development -D
master failed to start, check stderr log for details
rake aborted!
Command failed with status (1): [bundle exec unicorn_rails -c /vagrant/conf...]
/vagrant/lib/tasks/unicorn.rake:16:in `block (2 levels) in <top (required)>'
Tasks: TOP => unicorn:start
(See full trace by running task with --trace)
```
ログ
```
I, [2016-09-28T12:30:47.815853 #7554] INFO -- : Refreshing Gem list
I, [2016-09-28T12:30:55.425176 #7554] INFO -- : unlinking existing socket=/tmp/unicorn.sock
F, [2016-09-28T12:30:55.425724 #7554] FATAL -- : error adding listener addr=/tmp/unicorn.sock
bundler: failed to load command: unicorn_rails (/usr/local/rbenv/versions/2.2.5/bin/unicorn_rails)
Errno::EPERM: Operation not permitted @ unlink_internal - /tmp/unicorn.sock
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:113:in `unlink'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:113:in `rescue in bind_listen'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:107:in `bind_listen'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:231:in `listen'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `block in bind_new_listeners!'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `each'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `bind_new_listeners!'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:130:in `start'
 /usr/local/rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/unicorn-5.1.0/bin/unicorn_rails:209:in `<top (required)>'
 /usr/local/rbenv/versions/2.2.5/bin/unicorn_rails:23:in `load'
 /usr/local/rbenv/versions/2.2.5/bin/unicorn_rails:23:in `<top (required)>'
```
### unicorn.rb
### /config/unicorn/development.rb
```ここに言語を入力
# -*- coding: utf-8 -*-
@app_path = '/vagrant'
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 150
preload_app true # 更新時ダウンタイム無し
listen "/tmp/unicorn.sock"
pid "/tmp/unicorn.pid"
before_fork do |server, worker|
 Signal.trap 'TERM' do
   puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
   Process.kill 'QUIT', Process.pid
 end
 defined?(ActiveRecord::Base) and
     ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
 Signal.trap 'TERM' do
   puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
 end
 defined?(ActiveRecord::Base) and
     ActiveRecord::Base.establish_connection
end
```
super userで`rake unicorn:start`すると、通るのですが502 Bad Gatewayとなってしまいます。
何かヒントでもいただければ幸いです。よろしくお願いいたします。
  • nginx

    1240 questions

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

  • Ruby on Rails 4

    2610 questions

    Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る