Django .sock文件";“合同被拒绝”;当NGINX位于docker容器上时,uWSGI位于macOS上
我在Mac上安装了Django、uWSGI和Docker,然后运行一个NGINX Docker映像,用于通过共享我的项目目录为web服务Django .sock文件";“合同被拒绝”;当NGINX位于docker容器上时,uWSGI位于macOS上,django,macos,docker,nginx,uwsgi,Django,Macos,Docker,Nginx,Uwsgi,我在Mac上安装了Django、uWSGI和Docker,然后运行一个NGINX Docker映像,用于通过共享我的项目目录为web服务 docker run -v ~/Projects:/Projects -v /Projects/My-Project/My-Project_nginx.conf:/etc/nginx/conf.d/My-Project_nginx.conf:ro -p 80:80 -d nginx 启动uWSGI并测试后,NGINX出现错误“111:连接被拒绝”: 这个问题
docker run -v ~/Projects:/Projects -v /Projects/My-Project/My-Project_nginx.conf:/etc/nginx/conf.d/My-Project_nginx.conf:ro -p 80:80 -d nginx
启动uWSGI并测试后,NGINX出现错误“111:连接被拒绝”
:
这个问题似乎出现在我的Mac上,因为我在Ubuntu上测试了它们。共享.sock文件很好
有人说“”,是真的吗?为什么?我能用什么方法修理它吗
或者,为我的案子找个更好的办法?我知道docker compose就是为此而生的,但我希望自己组装的方式更灵活,更少依赖互联网
NGINX_形态 uwsgi.ini
使用
docker exec-it nginxcontainerid bash进入您的容器。在该bash中,检查您是否能够看到套接字文件或not@TarunLalwani对当然,我已经在Ubuntu上测试过了,它可以工作了。能否在macOS上共享.sock文件?使用docker exec-it nginxcontainerid bash进入容器内部。在该bash中,检查您是否能够看到套接字文件或not@TarunLalwani对当然,我已经在Ubuntu上测试过了,它可以工作了。能否在macOS上共享.sock文件?
2017/08/09 05:38:00 [error] 18#18: *11 connect() to unix:///Projects/My-Project/My-Project.sock failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: 172.16.10.30, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:///Projects/My-Project/My-Project.sock:", host: "172.16.10.30", referrer: "http://172.16.10.30/"
172.17.0.1 - - [09/Aug/2017:05:38:00 +0000] "GET /favicon.ico HTTP/1.1" 502 575 "http://172.16.10.30/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" "-"
server {
listen 80;
server_name 172.16.10.30;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /Projects/My-Project/media;
}
location /static {
alias /Projects/My-Project/static;
}
location / {
uwsgi_pass unix:///Projects/My-Project/My-Project.sock;
include /etc/nginx/uwsgi_params;
}
}
[uwsgi]
project = My-Project
chdir = /Projects/%(project)
master = true
processes = 2
socket = %(project).sock
wsgi-file = %(project)/wsgi.py
chmod-socket = 666
vacuum = true
py-autoreload = 1