Nginx和Django socketio提供的地址已在使用中错误

Nginx和Django socketio提供的地址已在使用中错误,nginx,amazon-ec2,uwsgi,socket.io,django-socketio,Nginx,Amazon Ec2,Uwsgi,Socket.io,Django Socketio,我正在尝试用uwsgi和nginx设置我的django socketio,当我运行时 sudo-uwsgi--ini-uwsgi.ini 我收到一个错误,地址已在使用中。 我知道问题是什么,我想问题是当我运行sudo uwsgi--ini uwsgi.ini时,它在端口80上创建了一个SocketIOServer,而且由于我的nginx也启动了,它也会侦听端口80。因此,它们是冲突,但我不知道如何解决它 有人能帮忙吗 我的wsgi.py文件如下所示: import os PORT = 80 o

我正在尝试用uwsgi和nginx设置我的django socketio,当我运行时 sudo-uwsgi--ini-uwsgi.ini

我收到一个错误,地址已在使用中。 我知道问题是什么,我想问题是当我运行sudo uwsgi--ini uwsgi.ini时,它在端口80上创建了一个SocketIOServer,而且由于我的nginx也启动了,它也会侦听端口80。因此,它们是冲突,但我不知道如何解决它

有人能帮忙吗

我的wsgi.py文件如下所示:

import os
PORT = 80

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

from socketio import SocketIOServer

print 'Listening on port %s and on port 843 (flash policy server)' % PORT
SocketIOServer(('', PORT), application, resource="socket.io").serve_forever()
upstream django {
    server unix:///tmp/uwsgi.sock;
}

server {
    listen      80;
    charset     utf-8;
    error_log /home/ubuntu/nginxerror.log   ;

    location /static {
        alias /home/ubuntu/project/static;
    }

    location / {
        uwsgi_pass  django;
        include     /etc/nginx/uwsgi_params;
        }
    }
我的nginx文件如下所示:

import os
PORT = 80

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

from socketio import SocketIOServer

print 'Listening on port %s and on port 843 (flash policy server)' % PORT
SocketIOServer(('', PORT), application, resource="socket.io").serve_forever()
upstream django {
    server unix:///tmp/uwsgi.sock;
}

server {
    listen      80;
    charset     utf-8;
    error_log /home/ubuntu/nginxerror.log   ;

    location /static {
        alias /home/ubuntu/project/static;
    }

    location / {
        uwsgi_pass  django;
        include     /etc/nginx/uwsgi_params;
        }
    }

我最近在看django socketio,我记得我只让socketio在端口843上监听。 你为什么需要同时收听80和843


在开发过程中,您可以添加开放端口843,看看这是否解决了您的问题。

不要在wsgi文件中创建socketio服务器,而是使用内置runserver\u socketio并使用supervisor在端口9000上启动它,然后让nginx代理对端口9000的/socket.io/的任何请求