我試圖在AWS EC2上的Ubuntu實例上運行我的django服務器。我使用gunicorn運行這樣的服務器:django errno 104由同級重置的連接
gunicorn --workers 4 --bind 127.0.0.1:8000 woc.wsgi:application --name woc-server --log-level=info --worker-class=tornado --timeout=90 --graceful-timeout=10
當我做我得到502的請求,錯誤網關上的瀏覽器。這裏是服務器日誌http://pastebin.com/Ej5KWrWs
其中行爲基於主機改變settings.py文件的某些部分是
iUbuntu是我的筆記本電腦的主機名
if socket.gethostname() == 'iUbuntu':
'''
Development mode
"iUbuntu" is the hostname of Ishan's PC
'''
DEBUG = TEMPLATE_DEBUG = True
else:
'''
Production mode
Anywhere else than Ishan's PC is considered as production
'''
DEBUG = TEMPLATE_DEBUG = False
if socket.gethostname() == 'iUbuntu':
'''Development'''
ALLOWED_HOSTS = ['*', ]
else:
'''Production Won't let anyone pretend as us'''
ALLOWED_HOSTS = ['domain.com', 'www.domain.com',
'api.domain.com', 'analytics.domain.com',
'ops.domain.com', 'localhost', '127.0.0.1']
(我不明白這段代碼的目的是什麼?由於我繼承了某人的代碼,並且服務器正在工作,所以我沒有理解它在不理解它的情況下將其刪除)
if socket.gethostname() == 'iUbuntu':
MAIN_SERVER = 'http://localhost'
else:
MAIN_SERVER = 'http://domain.com'
我無法弄清楚這裏有什麼問題。在我的筆記本電腦上使用gunicorn可以運行相同的代碼。
我也做了一個小小的hello world node.js服務於端口8000來測試nginx配置,它運行良好。所以沒有nginx錯誤。
UPDATE:
我DEBUG設置爲True,並複製回溯http://pastebin.com/ggFuCmYW
UPDATE:
多虧了@ARJMP的答覆。這確實是芹菜消費者沒有聯繫到經紀人的問題。這樣
我配置芹菜:app.config_from_object('woc.celeryconfig')
和celeryconfig.py的內容是:
BROKER_URL = 'amqp://celeryuser:[email protected]:5672/MyVHost' CELERY_RESULT_BACKEND = 'rpc://'
我運行這樣的工人:celery worker -A woc.async -l info --autoreload --include=woc.async -n woc_celery.%h
而且,我得到的錯誤是:
consumer: Cannot connect to amqp://celeryuser:**@127.0.0.1:5672/MyVHost: [Errno 104] Connection reset by peer.
郵政完整堆棧跟蹤,請 – e4c5
我設置DEBUG爲真,並複製回溯[HTTP:/ /pastebin.com/ggFuCmYW(http://pastebin.com/ggFuCmYW) – Ishan
stacktrace似乎表明您的芹菜工人在連接您的消息隊列(amqp)服務器時遇到問題。 [類似的問題](http://stackoverflow.com/questions/24647309/celery-gives-connection-reset-by-peer)通過升級其芹菜版本來解決。 – ARJMP