2012-07-31 56 views
1

我用uwsgi和python配置了我的nginx服務器,當我嘗試通過在瀏覽器中點擊url運行我的python應用程序時,瀏覽器返回消息,找不到uwsgi錯誤python應用程序。uwsgi錯誤python應用程序未找到

這是我uwsgi日誌是什麼樣子:

*** Starting uWSGI 1.0.4 (32bit) on [Tue Jul 31 15:25:04 2012] *** 
compiled with version: 4.6.3 on 27 July 2012 17:02:36 
current working directory: /home/paul/Desktop/x/studio 
detected binary path: /home/paul/Desktop/x/studio/bin/uwsgi 
uWSGI running as root, you can use --uid/--gid/--chroot options 
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
*** WARNING: you are running uWSGI without its master process manager *** 
your memory page size is 4096 bytes 
probably another instance of uWSGI is running on the same address. 
bind(): Address already in use [socket.c line 598] 
[pid: 3868|app: -1|req: -1/11] 127.0.0.1() {38 vars in 911 bytes} [Tue Jul 31 15:25:22  2012] GET /ai?api=%3CIron%3E%3CAction%3E%3CService%3EUserAuth%3C/Service%3E%3CUsername%3Eadmin%3C/Username%3E%3CPassword%3Eadmin%3C/Password%3E%3C/Action%3E%3C/Iron%3E => generated 48 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0) 
[pid: 3864|app: -1|req: -1/12] 127.0.0.1() {38 vars in 655 bytes} [Tue Jul 31 15:25:34 2012] GET /ai?api=%3CIron%3E%3C/Iron%3E => generated 48 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0) 
[pid: 3864|app: -1|req: -1/13] 127.0.0.1() {38 vars in 655 bytes} [Tue Jul 31 15:25:38 2012] GET /ai?api=%3CIron%3E%3C/Iron%3E => generated 48 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0) 
[pid: 3864|app: -1|req: -1/14] 127.0.0.1() {38 vars in 655 bytes} [Tue Jul 31 15:25:48 2012] GET /ai?api=%3CIron%3E%3C/Iron%3E => generated 48 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0) 
[pid: 3868|app: -1|req: -1/15] 127.0.0.1() {38 vars in 655 bytes} [Tue Jul 31 15:26:11 2012] GET /ai?api=%3CIron%3E%3C/Iron%3E => generated 48 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0) 

uwsgi和nginx的是從使用我的virtualenv根援引

bin/uwsgi -p 2 --socket 127.0.0.1:8807 --module index --pythonpath ironjob/ai -d log/uwsgi_ai.log 
bin/nginx -p ./ -c ironjob/etcs/production/nginx.conf 

這是我的nginx.conf文件

server { 
    listen  8090; 
    server_name example.com; 
    charset  utf-8; 

    # Django admin media. 
    location /media/admin/ { 
     alias lib/python2.6/site-packages/django/contrib/admin/media/; 
    } 
    # Your project's static media. 
    location /media/ { 
     alias PROJECT_ROOT/media/; 
    } 

    # Finally, send all non-media requests to the Django server. 
    location /ai { 
     uwsgi_pass 127.0.0.1:8807; 
     include  uwsgi_params; 
    } 
    } 

,幷包含可調用的應用程序中的$ VIRTUVAL_ENV/ironjob/AI/index.py文件:

import os 
import sys 
from webob import Response 
from cgi import parse_qs, escape 
import urllib 

from ironMainManager import MainManager 

os.environ['PYTHONJ_EGG_CACHE'] = '$VIRTUAL_ENV/bin/.python-egg' 

def application(environ , start_response): 
    mManager = MainManager() 
    parameters = parse_qs(environ.get('QUERY_STRING', '')) 
    returnval ="<Root></Root>" 

    if 'api' in parameters: 
     api = parameters['api'][0] 
     if 'platform' in parameters: 
       platform = parameters['platform'][0] 
       if platform == 'browser': 
         api = urllib.unquote(str(parameters['api'][0])) 
     print api 
     returnval = mManager.process(api) 
     output = 'success' 
    else: 
     output = 'error' 

    res = Response() 
    res.content_type = 'text/plain' 
    res.body=str(returnval) 
    return res(environ, start_response) 

回答

3

它看起來就像你有一箇舊uWSGi實例已經在運行。一定要殺死所有剩餘的實例並重新啓動uWSGI。除了這個嘗試總是使用最新的穩定 (1.0現在很老)

+0

這幫了我! – 2013-09-30 16:02:51

相關問題