पर एक साथ काम नहीं कर रहा है मैं एक django परियोजना चला रहा हूं जो gevent-socketio का उपयोग करता है।gevent-socketio nginx uwsgi विकास सर्वर
मेरे विकास सर्वर पर किसी कारण से, मेरे सभी वेबसाइकिल अनुरोध 101 pending
संदेश लौट रहे हैं, जिस पर सॉकेटियो अन्य सभी प्रोटोकॉल के माध्यम से साइकिल चलाना शुरू कर देगा जिसके परिणामस्वरूप pending
स्थिति हो जाएगी।
त्रुटि मेरी uwsgi लॉग में है:
2013/05/23 16:09:08 [error] 14485#0: *85 upstream timed out (110: Connection timed out) while reading upstream, client: x.x.x.x, server: dev.proj.co, request: "GET /socket.io/1/xhr-polling/116404981619?t=1369325348489 HTTP/1.1", upstream: "http://127.0.0.1:4042/socket.io/1/xhr-polling/116404981619?t=1369325348489", host: "dev.proj.co", referrer: "http://dev.proj.co/map/bycon/"
स्थानीय स्तर पर, मैं इस समस्या नहीं है। मैं अपने स्थानीय पर्यावरण
#!/usr/bin/env python
import os
import sys
from gevent import monkey
monkey.patch_all()
import django.core.handlers.wsgi
from socketio.server import SocketIOServer
import os
PORT = 8000
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")
application = django.core.handlers.wsgi.WSGIHandler()
PROJECT_DIR = os.path.realpath(os.path.dirname(__file__))
sys.path.insert(0, PROJECT_DIR)
sys.path.insert(0, os.path.join(PROJECT_DIR, "chat"))
if __name__ == '__main__':
SocketIOServer(('', PORT), application, resource="socket.io").serve_forever()
पर सर्वर का उपयोग कर python run.py
run.py शुरू मेरी विकास सर्वर, जहां बग हो रहा है, मैं सेटिंग निम्नवत है पर:
nginx.conf
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream django {
server 127.0.0.1:4042;
}
server {
listen 80;
server_name dev.proj.co;
charset utf-8;
access_log /var/log/nginx/myproj_dev.access.log;
error_log /var/log/nginx/myproj_dev.error.log;
location /media/ {
alias /var/www/dev/myproj/releases/myproj_public/media/;
error_page 404 = /404;
expires 30d;
}
location /static/ {
alias /var/www/dev/myproj/releases/myproj_public/static/;
error_page 404 = /404;
expires 30d;
}
location/{
proxy_pass http://127.0.0.1:4042;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
,210 uwsgi_dev.ini
[uwsgi]
if-env = PROJECT_HOME
print = Your path is %(_)/current
chdir = %(_)/current
touch-reload = %(_)/current/myproj/uwsgi_dev.ini
daemonize = %(_)/myproj_uwsgi/myproj.log
endif =
if-env = VIRTUAL_ENV
print = Your virtualenv is %(_)
virtualenv = %(_)
endif =
gevent = 100
processes = 4
module = myproj.wsgi_dev
env = DJANGO_SETTINGS_MODULE=myproj.settings.dev
master = True
vacuum = True
max-requests = 5000
logdate = True
# newrelic requirements
enable-threads = True
single-interpreter = True
wsgi_dev.py
import os
from gevent import monkey
monkey.patch_all()
from socketio.server import SocketIOServer
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproj.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
PORT = 4042
SocketIOServer(("127.0.0.1", PORT), application, \
resource="socket.io").serve_forever()
अन्य जानकारी:
I'm using uwsgi 1.9.6, gevent-websocket 0.3.6, greenlet 0.4.0 and the dev version of gevent(-e git://github.com/surfly/[email protected]#egg=gevent-dev) and gevent-socketetio (-e git://github.com/abourget/[email protected]#egg=gevent_socketio-dev)
[[email protected] ~]# nginx -v
nginx version: nginx/1.4.1
आप शायद एक प्रक्रिया के साथ इसे चलाने की कोशिश करें और देखें कि समस्या बनी रहती है सकते हैं झूठी कोशिश? मुझे ग्रीनकॉर्न का उपयोग करके कई श्रमिकों के साथ गीवेंट-सॉकेटियो के साथ भी परेशानी हो रही है, यह सुनिश्चित नहीं है कि यह संबंधित है https://github.com/abourget/gevent-socketio/issues/132?source=cc। इसके अतिरिक्त gevent के साथ uwsgi का उपयोग बहुत छोटी लग रहा है ... https://github.com/abourget/gevent-socketio/issues/81?source=cc –
@ बर्नार्डवॉलेंट टिप्पणी के लिए धन्यवाद। बंदूक लिंक बहुत उपयोगी था।मेरे पास अब इसे डीबग करने के लिए अधिक समय नहीं है लेकिन जब मैं करता हूं, तो मैं इस पोस्ट को अपडेट करने के लिए याद रखने की कोशिश करूंगा। – super9
@ super9 मुझे पता है कि यह एक पुराना सवाल है, लेकिन मुझे आश्चर्य है कि क्या आपने कभी हल किया है कि आपको क्या त्रुटि दे रही है? मुझे वर्तमान में एक समान समस्या का सामना करना पड़ रहा है। – jbll