gunicorn.errors.HaltServer:<HaltServer'Worker无法启动.3>

Yan*_*ick 22 python gunicorn

我已经在我的virtualenv中安装了gunicorn.

从这个目录:

manage.py
/onbytes/wsgi.py
Run Code Online (Sandbox Code Playgroud)

我执行以下操作:

gunicorn onbytes.wsgi:application
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "/home/ymorin007/.virtualenvs/onbytes.com/bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==19.0.0', 'console_scripts', 'gunicorn')()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 166, in run
    super(Application, self).run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 71, in run
    Arbiter(self).run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 169, in run
    self.manage_workers()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 477, in manage_workers
    self.spawn_workers()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 537, in spawn_workers
    time.sleep(0.1 * random.random())
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 209, in handle_chld
    self.reap_workers()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
Run Code Online (Sandbox Code Playgroud)

运行gunicorn onbytes.wsgi:application --preload会给我这个错误:

Traceback (most recent call last):
  File "/home/ymorin007/.virtualenvs/onbytes.com/bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==19.0.0', 'console_scripts', 'gunicorn')()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 166, in run
    super(Application, self).run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 71, in run
    Arbiter(self).run()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 57, in __init__
    self.setup(app)
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 113, in setup
    self.app.wsgi()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 66, in wsgi
    self.callable = self.load()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/ymorin007/.virtualenvs/onbytes.com/local/lib/python2.7/site-packages/gunicorn/util.py", line 356, in import_app
    __import__(module)
  File "/home/ymorin007/sites/onbytes.com/src/onbytes/wsgi.py", line 8, in <module>
    from django.core.wsgi import get_wsgi_application
ImportError: No module named django.core.wsgi
Run Code Online (Sandbox Code Playgroud)

小智 33

可能在您的应用程序中存在问题,而不是在gunicorn中.

尝试:

gunicorn --log-file=- onbytes.wsgi:application
Run Code Online (Sandbox Code Playgroud)

从版本R19开始,Gunicorn默认不在控制台中记录,并且不推荐使用--debug选项.

  • 这是每个gunicorn启动错误的第一个解决方案. (4认同)

Han*_*sky 21

添加--preloadgunincorn命令给我看,我不得不这样做:

pip install ordereddict
Run Code Online (Sandbox Code Playgroud)

那个包丢失了.

  • 谢谢。就我而言,添加“--preload”是获得有用的调试输出的秘密成分,该输出指出了我的应用程序中的潜在错误。`--log-file` 和 `--log-level debug` 没有多大帮助。 (2认同)

小智 12

我遇到了类似的问题,因为我在错误的目录中运行命令.在标准的django安装中,尝试在'manage.py'的同一目录中运行gunicorn