nginx - 如何通过 gunicorn 启动石墨?
问题描述
我用 nginx 和 gunicorn 设置了石墨。我一开始就得到这个输出:
server:/opt/graphite/webapp/graphite # gunicorn graphite_wsgi:application
[2019-07-10 16:24:30 +0000] [13244] [INFO] Starting gunicorn 19.9.0
[2019-07-10 16:24:30 +0000] [13244] [INFO] Listening at: http://127.0.0.1:8000 (13244)
[2019-07-10 16:24:30 +0000] [13244] [INFO] Using worker: sync
[2019-07-10 16:24:30 +0000] [13248] [INFO] Booting worker with pid: 13248
Could not import graphite.local_settings, using defaults!
[2019-07-10 14:24:30 +0000] [13248] [ERROR] Error handling request /tags/tagMultiSeries
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/usr/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
response = self.get_response(request)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 135, in handle_uncaught_exception
extra={'status_code': 500, 'request': request},
File "/usr/lib64/python2.7/logging/__init__.py", line 1193, in error
self._log(ERROR, msg, args, **kwargs)
File "/usr/lib64/python2.7/logging/__init__.py", line 1286, in _log
self.handle(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 1296, in handle
self.callHandlers(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 1336, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 759, in handle
self.emit(record)
File "/usr/lib64/python2.7/site-packages/django/utils/log.py", line 119, in emit
message = "%s\n\n%s" % (self.format(no_exc_record), reporter.get_traceback_text())
File "/usr/lib64/python2.7/site-packages/django/views/debug.py", line 334, in get_traceback_text
return t.render(c)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 207, in render
return self._render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 199, in _render
return self.nodelist.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 990, in render
bit = node.render_annotated(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
return self.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/defaulttags.py", line 216, in render
nodelist.append(node.render_annotated(context))
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
return self.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 1040, in render
output = self.filter_expression.resolve(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 736, in resolve
new_obj = func(obj, *arg_vals)
File "/usr/lib64/python2.7/site-packages/django/template/defaultfilters.py", line 255, in stringformat
return ("%" + six.text_type(arg)) % value
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 79, in __repr__
return repr(self.__cast())
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 131, in __cast
return self.__text_cast()
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 119, in __text_cast
return func(*self.__args, **self.__kw)
File "/usr/lib64/python2.7/site-packages/django/urls/base.py", line 91, in reverse
return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/usr/lib64/python2.7/site-packages/django/urls/resolvers.py", line 440, in _reverse_with_prefix
possibilities = self.reverse_dict.getlist(lookup_view)
File "/usr/lib64/python2.7/site-packages/django/urls/resolvers.py", line 337, in reverse_dict
return self._reverse_dict[language_code]
KeyError: 'en-us'
[2019-07-10 14:24:31 +0000] [13248] [ERROR] Error handling request /tags/tagMultiSeries
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/usr/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
response = self.get_response(request)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/usr/lib64/python2.7/site-packages/django/core/handlers/exception.py", line 135, in handle_uncaught_exception
extra={'status_code': 500, 'request': request},
File "/usr/lib64/python2.7/logging/__init__.py", line 1193, in error
self._log(ERROR, msg, args, **kwargs)
File "/usr/lib64/python2.7/logging/__init__.py", line 1286, in _log
self.handle(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 1296, in handle
self.callHandlers(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 1336, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 759, in handle
self.emit(record)
File "/usr/lib64/python2.7/site-packages/django/utils/log.py", line 119, in emit
message = "%s\n\n%s" % (self.format(no_exc_record), reporter.get_traceback_text())
File "/usr/lib64/python2.7/site-packages/django/views/debug.py", line 334, in get_traceback_text
return t.render(c)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 207, in render
return self._render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 199, in _render
return self.nodelist.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 990, in render
bit = node.render_annotated(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
return self.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/defaulttags.py", line 216, in render
nodelist.append(node.render_annotated(context))
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
return self.render(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 1040, in render
output = self.filter_expression.resolve(context)
File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 736, in resolve
new_obj = func(obj, *arg_vals)
File "/usr/lib64/python2.7/site-packages/django/template/defaultfilters.py", line 255, in stringformat
return ("%" + six.text_type(arg)) % value
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 79, in __repr__
return repr(self.__cast())
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 131, in __cast
return self.__text_cast()
File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 119, in __text_cast
return func(*self.__args, **self.__kw)
File "/usr/lib64/python2.7/site-packages/django/urls/base.py", line 91, in reverse
return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/usr/lib64/python2.7/site-packages/django/urls/resolvers.py", line 440, in _reverse_with_prefix
possibilities = self.reverse_dict.getlist(lookup_view)
File "/usr/lib64/python2.7/site-packages/django/urls/resolvers.py", line 337, in reverse_dict
return self._reverse_dict[language_code]
KeyError: 'en-us'
^C[2019-07-10 16:24:32 +0000] [13244] [INFO] Handling signal: int
[2019-07-10 14:24:32 +0000] [13248] [INFO] Worker exiting (pid: 13248)
[2019-07-10 16:24:32 +0000] [13244] [INFO] Shutting down: Master
如果我尝试访问 nginx,我会收到内部服务器错误。
不幸的是,我不知道这个错误是关于什么的
我的 /opt/graphite/webapp/graphite/graphite_wsgi.py 看起来像这样:
import sys
# In case of multi-instance graphite, uncomment and set appropriate name
# import os
# os.environ['GRAPHITE_SETTINGS_MODULE'] = 'graphite.local_settings'
sys.path.append('/opt/graphite/webapp')
from graphite.wsgi import application
有没有人暗示我出了什么问题?我已经尝试过使用 apache,但在那里我也遇到了类似的错误。所以我认为我的石墨 wsgi.py 有问题 - 但这只是一个猜测
非常感谢 !
解决方案
推荐阅读
- python - 设计一种算法来找到两条路径之间的平均距离
- build - 在生产模式下构建会导致空白页面,而在开发模式下构建可以完美运行(Angular 8)
- java - 使用 Guava 的 EventBus 的注意事项
- java - AsyncTask 与
- java.lang.Object[] 不能转换为 java.lang.String[] - python - 如何确定 Tensorflow 模型需要多少 GPU 内存?
- java - 基于微调器选择显示 ListView
- go - Golang在超时Goroutine上的间歇性行为
- reactjs - 如何在没有多个构建的情况下将 React 应用程序部署到多个环境?
- javascript - javascript点击功能在ios中无法正常工作
- git - .gitconfig“错误的配置行”由于别名