报错例子:
如上图报错:nginx: [emerg] host not found in upstream "php" in /etc/nginx/conf.d/localhost.conf:10
原因:
用docker搭建的nginx报upstream错误,一直找不到原因
通过服务器IP和端口,可以直接访问到应用
但是就是无法通过nginx的代理转发
一直报没有权限的错误
折腾一整天后,原来是自己在配置nginx的虚拟主机信息是从之前的直接安装的nginx的配置文件中复制过来的
proxy_pass指向的是本机地址(proxy_pass http:/127.0.0.1:5000),当变成docker后,如果还用本地,就是指向nginx的docker本身
但实际上,5000端口的服务时另一个docker在运行的,所以无法访问
只需要把Proxy_pass 指向宿主机的IP(proxy_pass http://172.18.205.244:5000;),就可以正常访问了