docker run --name=tomcat001 -p 8081:8080 -e TOMCAT_SERVER_ID=tomcat_server_001 -idt bolingcavalrytomcat:0.0.1
docker run --name=tomcat002 -p 8082:8080 -e TOMCAT_SERVER_ID=tomcat_server_002 -idt bolingcavalrytomcat:0.0.1
通过容器启动时,只是将不同的TOMCAT服务器 暴露到了本地服务器的8081和8082端口,实际上要访问的仍然是原来IP地址所对应的8080端口
upstream tomcat_client
{
server t01:8080 weight=1;
server t02:8080 weight=1;
}
故而 负载均衡的配置 对应的是8080端口
负载均衡后
server {
server_name "”;
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
location / {
proxy_pass http://tomcat_client;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
根据NGINX配置信息 根据域名 实际是暴露给了本地服务器的80端口
故而 访问这个域名的时候 实际上 是把内容 定向转发到了 不同的Tomcat服务器上 至于设置8081 8082 只是因为在同一台服务器上做操作 故而使用不同的端口 进行试验
不使用docker的时候,由于在同一台服务器进行。配置的Tomcat的服务器所监听的端口不一样 故而 负载均衡的ip地址端口要区分为不同的端口。