2014-02-18 24 views
0

我試圖建立我的Django的socketio與uwsgi和nginx的,當我跑 須藤uwsgi --ini uwsgi.iniNginx的和Django的socketio已經給地址使用錯誤

我得到了一個錯誤稱地址已被使用。 我知道問題是什麼,我認爲他們的問題是當我運行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() 

我的nginx的文件看起來像:

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; 
     } 
    } 

回答

0

我在看Django的socketio最近,我記得我只讓socketio監聽港口843. 任何你需要聽80 & 843?

正在開發中,您可以添加開放端口843,並查看是否可以解決您的問題。

0

而是在你的WSGI文件中創建一個socketio服務器,使用內置的runserver_socketio和使用監督員啓動它在端口9000,則有nginx的代理爲/socket.io/任何請求到端口9000

相關問題