繁体   English   中英

独角兽和Nginx错误

[英]Unicorn & nginx error

vagrant@lucid32:/vagrant$ bundle exec unicorn_rails -c config/unicorn.rb -D -d
{:unicorn_options=>{:listeners=>[], :config_file=>"config/unicorn.rb"},
 :app=>
  #<Proc:0xa1a6ef4@/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn_rails:135 (lambda)>,
 :daemonize=>true}
Exception `Errno::EEXIST' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/fileutils.rb:247 - File exists - tmp/cache
Exception `Errno::EEXIST' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/fileutils.rb:247 - File exists - tmp/pids
Exception `Errno::EEXIST' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/fileutils.rb:247 - File exists - tmp/sessions
Exception `Errno::EEXIST' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/fileutils.rb:247 - File exists - tmp/sockets
Exception `EOFError' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/launcher.rb:46 - end of file reached
master failed to start, check stderr log for details

不幸的是,我不知道如何检查stderr日志,并且找不到任何相关信息。

这是配置文件:

working_directory "/vagrant"
pid "/vagrant/tmp/pids/unicorn.pid"
stderr_path "/vagrant/log/unicorn.log"
stdout_path "/vagrant/log/unicorn.log"

listen "/tmp/unicorn.todo.sock"
worker_processes 2
timeout 30

这是nginx.conf文件

upstream unicorn {
  server unix:/tmp/unicorn.todo.sock fail_timeout=0;
}


server {
  listen 80 default;
  # server_name example.com;
  root /vagrant/public;
  try_files $uri/index.html $uri @unicorn;
  location @unicorn {
      proxy_pass  http://unicorn;
  }

  error_page 500 502 503 504 /500.html;
}

现在,问题是/ tmp目录没有被创建。 所以我创建了它,并得到了相同的错误,然后我删除了它,并得到了相同的错误。 现在我陷入了无限循环。

我会很感激ho所做的任何帮助,或者至少如何读取错误日志。

编辑:我能够找到stderr文件:

/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `rename': Text file busy - (/vagrant/tmp/pids/0.2278780536507904.2128, /vagrant/tmp/pids/unicorn.pid) (Errno::ETXTBSY)
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `pid='
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:137:in `start'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `<top (required)>'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `load'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `<main>'
/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `rename': Text file busy - (/vagrant/tmp/pids/0.8313958669768073.2187, /vagrant/tmp/pids/unicorn.pid) (Errno::ETXTBSY)
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `pid='
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:137:in `start'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `<top (required)>'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `load'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `<main>'
/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `rename': Text file busy - (/vagrant/tmp/pids/0.9130633695817217.2190, /vagrant/tmp/pids/unicorn.pid) (Errno::ETXTBSY)
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `pid='
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:137:in `start'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `<top (required)>'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `load'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `<main>'
Exception `Errno::ENOENT' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:683 - No such file or directory - /vagrant/tmp/pids/unicorn.pid
Exception `Errno::ETXTBSY' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207 - Text file busy - (/vagrant/tmp/pids/0.59100125503182.2237, /vagrant/tmp/pids/unicorn.pid)
/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `rename': Text file busy - (/vagrant/tmp/pids/0.59100125503182.2237, /vagrant/tmp/pids/unicorn.pid) (Errno::ETXTBSY)
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `pid='
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:137:in `start'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `<top (required)>'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `load'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `<main>'
/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `rename': Text file busy - (/vagrant/tmp/pids/0.4331021743697998.2271, /vagrant/tmp/pids/unicorn.pid) (Errno::ETXTBSY)
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:207:in `pid='
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:137:in `start'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `<top (required)>'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `load'
        from /home/vagrant/.rbenv/versions/1.9.3-p392/bin/unicorn:23:in `<main>'
Exception `Errno::ENOENT' at /home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:683 - No such file or directory - /vagrant/tmp/pids/unicorn.pid

Unicorn进程在后台运行(-d),在Terminal上键入以下命令

ps aux | grep unicorn

并杀死正在运行的独角兽进程,然后再次启动独角兽。

我也有同样的问题( Text file busy错误),也从Vagrant VM运行。 @destiel的评论帮助我解决了这个问题:显然这是由于从Vagrant共享文件夹中运行railsunicorn引起的。 复制到虚拟驱动器后,它可以正常工作。 如果有问题,我正在Windows 8主机上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM