我在本地设置了uWSGI和NGINX,我的配置在提供Web请求时没有问题。但是,当我将uWSGI和NGINX(在单独的Docker容器中)容器化时,我似乎无法建立连接。我的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日志中收到以下错误消息:'[error] 7#7:* 1 connect()失败(111:连接被拒绝),同时连接到上游,客户端:172.18.0.1,服务器:localhost,请求:“GET /端点HTTP / 1.1”,上游:“uwsgi://172.18.0.2:9090”,主机:“127.0.0.1”'
看起来它似乎没有连接到uWSGI。不知道从哪里开始。有什么想法吗?
答案 0 :(得分:5)
配置uwsgi以侦听0.0.0.0
而不是localhost。这将使它监听所有容器接口。您正在拒绝连接,因为它只是在监听uwsgi容器的localhost,而不是容器的eth0。