Redmine / puma用未定义的方法“停止”' for nil:NilClass(NoMethodError)

时间:2016-10-10 10:51:08

标签: ruby redmine puma

我在运行Redmine应用程序的Puma Application Server上出现错误。美洲狮正确快速地启动下一个http调用返回此错误...我没有在Google上找到答案如何处理这个问题。

以下是错误消息:

==> log/puma.stderr.log <==
/home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/single.rb:16:in `stop': undefined method `stop' for nil:NilClass (NoMethodError)
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/launcher.rb:146:in `stop'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/launcher.rb:382:in `block in setup_signals'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack.rb:85:in `<module:Digest>'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack.rb:81:in `<module:Auth>'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack.rb:77:in `<module:Rack>'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack.rb:12:in `<top (required)>'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/configuration.rb:300:in `rack_builder'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/configuration.rb:315:in `load_rackup'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/configuration.rb:243:in `app'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/runner.rb:127:in `load_and_bind'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/single.rb:85:in `run'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/launcher.rb:172:in `run'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cli.rb:74:in `run'
    from /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/bin/puma:10:in `<top (required)>'
    from /home/david/.rbenv/versions/2.3.1/bin/puma:23:in `load'
    from /home/david/.rbenv/versions/2.3.1/bin/puma:23:in `<main>'

以下有关此服务器的信息:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.1
  - RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0
  - USER INSTALLATION DIRECTORY: /home/david/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /home/david/.rbenv/versions/2.3.1/bin/ruby
  - EXECUTABLE DIRECTORY: /home/david/.rbenv/versions/2.3.1/bin
  - SPEC CACHE DIRECTORY: /home/david/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/david/.rbenv/versions/2.3.1/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/david/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0
     - /home/david/.gem/ruby/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/david/.rbenv/versions/2.3.1/bin
     - /home/david/.rbenv/libexec
     - /home/david/.rbenv/plugins/ruby-build/bin
     - /home/david/.rbenv/shims
     - /home/david/.rbenv/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
$ gem list puma

*** LOCAL GEMS ***

puma (3.6.0)

当我在这样的控制台中自己执行puma时,问题似乎不会发生:

$ puma -C /home/david/public_html/redmine/config/puma.rb

但是当我运行我用此文件创建的服务时会出现问题:

# cat /etc/systemd/system/redmine.service 
[Unit]
Description=Puma HTTP Server (Redmine)
After=network.target

# Uncomment for socket activation (see below)
# Requires=puma.socket

[Service]
# Foreground process (do not use --daemon in ExecStart or config.rb)
Type=simple

# Preferably configure a non-privileged user
User=david

# Specify the path to your puma application root
WorkingDirectory=/home/david/public_html/redmine

# Helpful for debugging socket activation, etc.
# Environment=PUMA_DEBUG=1

# The command to start Puma
# Here we are using a binstub generated via:
# `bundle binstubs puma --path ./sbin`
# in the WorkingDirectory (replace <WD> below)
# You can alternatively use `bundle exec --keep-file-descriptors puma`
# ExecStart=<WD>/sbin/puma -b tcp://0.0.0.0:9292 -b ssl://0.0.0.0:9293?key=key.pem&cert=cert.pem

# Alternatively with a config file (in WorkingDirectory) and
# comparable `bind` directives
# ExecStart=<WD>/sbin/puma -C config.rb
ExecStart=/home/david/.rbenv/shims/puma -C /home/david/public_html/redmine/config/puma.rb


Restart=always

[Install]
WantedBy=multi-user.target

Thank you for your help,
David.

0 个答案:

没有答案