2016-11-04 3 views
0

uWSGI 및 NGINX를 로컬로 설정했으며 구성에 웹 요청을 제공하는 데 문제가 없습니다. 그러나, 내가 uWSGI와 NGINX (별도의 Docker 컨테이너에 있음)를 컨테이너화할 때 연결을 만들 수없는 것처럼 보입니다. 내 Nginx의 서버 구성은 다음과 같습니다다른 Docker 컨테이너에서 uWSGI 및 NGINX를 실행하는 방법

server { 
    listen  80; 
    server_name localhost; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass uwsgi.app:9090; 
    } 
} 

내 uWSGI INI 파일은 다음과 같습니다

[uwsgi] 
socket = localhost:9090 
module = uwsgi:app 
processes = 4 
threads = 2 
master = true 
buffer-size = 32768 
stats = localhost:9191 
die-on-term = true 
vaccuum = true 

나는 uWSGI docker run -p 9090:9090 --network main --name uwsgi.app -d uwsgirepo에 대해 다음을 사용하여 모두 같은 사용자 생성 브리지 네트워크에서 컨테이너를 실행

; NGINX의 경우 docker run -p 80:80 --network main --link uwsgi.app --name nginx.app -d nginxrepo입니다.

로컬 컴퓨터에서 요청을하면 NGINX 로그에서 다음 오류 메시지가 나타납니다. '[오류] 7 # 7 : * 1 업스트림에 연결하는 동안 connect()가 실패했습니다 (111 : Connection refused) , 클라이언트 : 172.18.0.1, 서버 : localhost, 요청 : "GET/endpoint HTTP/1.1", 업스트림 : "uwsgi : //172.18.0.2 : 9090", 호스트 : "127.0.0.1" '

UWSGI에 연결되는 것처럼 보입니다. 여기에서 어디로 가야할지 모르겠다. 이견있는 사람?

답변

2

localhost 대신 0.0.0.0에서 수신 대기하도록 uwsgi를 구성하십시오. 그러면 모든 컨테이너 인터페이스에서 수신 대기하게됩니다. uwsgi 컨테이너의 localhost가 아니라 리스너의 eth0을 수신 대기하기 때문에 연결이 거부되었습니다.

관련 문제