基于Docker + Consul + Nginx + Consul-Template的服务负载均衡实现

1.consul在docker上的部署可以看这篇文章https://blog.csdn.net/qq_28119741/article/details/96741692

2. 本机安装nginx做反向代理,并启动nginx,监听80端口

sudo apt-get install nginx

Nginx如果指定默认加载/etc/nginx/nginx.conf的配置文件。如果要查看加载的是哪个配置文件,可以用这个命令sudo nginx -t或者ps -ef | grep nginx

然后通过这种方式安装的,会自动创建服务,会自动在/etc/init.d/nginx新建服务脚本,然后就可以使用sudo service nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}的命令启动。

3.本机安装consul-template

用于自动生成nginx配置文件。下载地址:https://releases.hashicorp.com/consul-template/ 

然后启动

sudo consul-template -template="/home/wer/nginx.conf.ctmpl:/etc/nginx/sites-enabled/consul.conf:nginx -s reload" -consul-retry -vault-retry &

nginx.conf.ctmpl是模板文件用来生成nginx的 consul.conf的,需要手动创建,以下是里面的内容

{{range services}} {{$name := .Name}} {{$service := se

猜你喜欢

转载自blog.csdn.net/qq_28119741/article/details/96774056