unicornの.socketファイルがうまく生成されません


`sinatra`+`unicorn`+`nginx`での環境構築に挑戦しています。
しかし、`unicorn`を立ち上げるところでエラーがでて困っています。 どうかお力を貸してください。

環境

  * mac osx 
    * vagrant
    * centos 6.6

エラー内容

[code]

    FATAL -- : error adding listener addr=/var/www/html/unicorn/tmp/sockets/unicorn.sock
    /var/www/html/unicorn/vendor/bundler/ruby/1.9.1/gems/unicorn-4.8.3/lib/unicorn/socket_helper.rb:158:in `initialize': Operation not permitted - "/var/www/html/unicorn/tmp/sockets/unicorn.sock" (Errno::EPERM)
    
[/code]

`unicorn.rb`は以下のようになっています。

[code]

    @dir = File.expand_path("/var/www/html/unicorn", __FILE__)
    
    worker_processes 2
    working_directory @dir
    
    timeout 300
    listen "/var/www/html/unicorn/tmp/sockets/unicorn.sock", :backlog => 1024
    
    pid "#{@dir}/tmp/pids/unicorn.pid"
    
    stderr_path "#{@dir}/log/unicorn.stderr.log"
    stdout_path "#{@dir}/log/unicorn.stdout.log"
    
[/code]

なお、`listen`を`3000`などにするとうまく起動します。

この`.socket`というファイルは勝手に作られるのか、それとも自分で用意して読み込ませるのかがわからないのですが、とりあえず`/var/www/html/unicorn/tmp/sockets/`のパーミッションは`777`にしてみましたが、結果は同じでした。

ググっても`listen`を絶対パスにしろと書いてある物しか見つけられなかったので、教えてください。 よろしくおねがいします。




> listenを3000などにするとうまく起動します。

unicorn が使用するポート番号はデフォルトで 8080 だそうですが、もしかして別のサーバプロセスが 8080 番ポートを使用していたりはしませんか？
`netstat` や `lsof` コマンドなどを使用して確認してみてはいかがでしょうか。具体的には以下を root 権限で実行します。

  * netstat

# netstat -tlnp | grep ':8080'

  * lsof

# lsof -i TCP:8080

