docker 使用Nginx做负载的时候,由于自己是个新手,第一次接触docker以及nginx,踩了一个坑,在此记录下。
upstream ytest { #后端目标服务器 server 192.168.182.132:8500; server 192.168.182.131:8500; } server { #前端接受流量入口 listen 80; server_name localhost; location / { proxy_pass http://ytest; } }
问题就发生在这块,目标两个服务器也是虚拟机,里面安装了consul,但是怎么试,都不起作用,后来我多次删除、创建容器,终于提示错误了
然后我进入容器里面,访问了外网,发现确实不好用。
接下来开始一顿操作.....
yum -y install vim*
#如果vim提示找不到,则执行上安装vim vim /etc/sysctl.conf #配置转发 net.ipv4.ip_forward=1 #重启服务,让配置生效 systemctl restart network #查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功 sysctl net.ipv4.ip_forward #重启docker服务 service docker restart
至此需要的操作就完事了,再次进入容器,访问下外网,例如百度啥的,应该就好用了。也访问了负载后端服务器,都可以访问。然后通过浏览器访问nginx负载地址,已经好用了。