2012-06-12 3 views
1

nginx 프록시를 사용하여 여러 응용 프로그램을 호스팅하도록 설정된 서버가 있습니다. 어떤 이유로 nginx에서 요청이 업스트림으로 보내지지 않고있는 것 같습니다. 클라이언트에서 404 오류가 다시 발생하고 내 로그에서 찾을 수있는 유일한 "오류"는 nginx_error.log (약 5 초마다 약 1 회 생성됨)의 다음 줄입니다 :nginx가 업스트림으로 전달되지 않음

2012/06/12 10시 29분 37초 [정보] 0 22289 # : 192.168.10.135, 서버 : 클라이언트 요청 라인, 클라이언트 읽는 동안 * 49 클라이언트가 조기 연결을 닫았 로컬 호스트는

구글에 일부 품질 시간을 나타냅니다 이것은 응용 프로그램 이슈는 아니지만 지금 당장해야 할 일입니다. [10 : 31 : 13 -0400 12/6월/2,012] -4000--

-

:

nginx.access.log은 다음 행 5 초마다 출력

응용 프로그램에 여러 로깅 메시지가 있지만 사용자 작업의 항목이 응용 프로그램 로그에 인쇄되지 않습니다. 이 문제의 원인이 될 수 무엇

[DEFAULT] 
loglevel = INFO 
beaker.session.cookie_expires = true 
beaker.session.lock_dir = . 
beaker.session.type = mongodb 
beaker.session.url = mongodb://MONGO_HOST:MONGO_PORT/beaker.sessions?slaveok=true 
beaker.session.skip_pickle = true 

[composite:main] 
use = egg:Paste#urlmap 
/v1/cust1 = cust1 

[app:cust1] 
paste.app_factory = appservice.main:make_app 
company = customer1 
db_host = DB_HOST 
db_port = DB_PORT 
db_name = DB_NAME 
DATA_COLLECTION = customer_data 
USERS_COLLECTION = customer_users 
REPORT_PARAM_1 = REPORT_PARAM_1_DATA 
REPORT_PARAM_2 = REPORT_PARAM_2_DATA 
REPORT_PARAM_3 = REPORT_PARAM_3_DATA 
REPORT_PARAM_4 = REPORT_PARAM_4_DATA 
REPORT_PARAM_5 = REPORT_PARAM_5_DATA 
REPORT_PARAM_6 = REPORT_PARAM_6_DATA 

[server:main] 
use = egg:Paste#http  
host = 0.0.0.0 
port = %(app_port)s 

:

daemon    off; 
error_log   /APP_DIRECTORY/logs/nginx_error.log info; 
pid    /APP_DIRECTORy/var/nginx.pid; 
worker_processes 1; 
working_directory /APP_DIRECTORY/var/; 

events { 
    worker_connections 1024; 
} 


http { 
    # the three parameters for *_temp_path MUST be here or nginx will not start 
    client_body_temp_path /APP_DIRECTORY/var/lib/nginx/body; 
    proxy_temp_path  /APP_DIRECTORY/var/lib/nginx/proxy; 
    fastcgi_temp_path  /APP_DIRECTORY/var/lib/nginx/fastcgi; 
    include    /etc/nginx/mime.types; 
    default_type   application/octet-stream; 

    log_format   main $http_x_forwarded_for - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"; 
    sendfile    on; 
    keepalive_timeout  0; 
    tcp_nodelay   on; 

    gzip     on; 
    Gzip_proxied   any; 
    gzip_types   text/plain text/html application/json application/xml; 

    upstream app_paste { 
    server 127.0.0.1:8001; 
    #server 127.0.0.1:8002; 
    #server 127.0.0.1:8003; 
    #server 127.0.0.1:8004; 
    #server 127.0.0.1:8005; 
    #server 127.0.0.1:8006; 
    #server 127.0.0.1:8007; 
    #server 127.0.0.1:8008; 
    #server 127.0.0.1:8009; 
    #server 127.0.0.1:8010; 
    #server 127.0.0.1:8011; 
    #server 127.0.0.1:8012; 
    } 

    server { 
    listen 8000; 
    server_name localhost; 
    access_log /app_DIRECTORY/logs/nginx.access.log main; 

    location /crossdomain.xml { 
     root /APP_DIRECTORY/www; 
    } 

    location /v1 { 
     proxy_pass http://app_paste; 
    } 

    location /v2 { 
     proxy_pass http://app_paste; 
    } 
    } 
} 

내 응용 프로그램 구성은 다음과 같습니다처럼 참고로

, 내 nginx.cfg 보인다? 구성에 문제가 있습니까?

+0

** $ curl http://127.0.0.1:8001**의 출력은 무엇입니까? – Anatoly

+0

컬 127.0.0.1을 제공합니다 이</head> <body> <h1>자원을 찾을 수 없습니다</h1> <p>찾을 수 없음을 찾을 수 없습니다.
/ <- 정의 애플 리케이션! (없음, '/ V1/응용 프로그램') SCRIPT_NAME : ' PATH_INFO를' '/' HTTP_HOST를 '127.0.0.1:8001'->


WSGI Server

+0

curl 127.0.0.1:8001/v1/app/login (로그인 할 수있는 첫 번째 서비스와이 문제가 처음으로 보이는 곳)을 통해 로그인 서비스에 직접 액세스하려고하면 올바른 응답을 얻습니다. –

답변

0

필자는 구성 파일을 처리하는 방식을 변경하여 앱에서 파일을 수동으로 구문 분석하지 않고 내 앱 팩토리에 전달 된 인수를 사용하도록 변경했습니다. 어떤 이유로 나는 전혀 이해하지 못한다. 이것은 문제를 해결 한 것으로 보인다. @mikhailov, 모든 시간과 도움에 감사드립니다.

관련 문제