网站首页 > 精选教程 正文
负载均衡在服务端开发中算是一个比较重要的特性。因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理前端,因为Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backend servers,也叫做服务池, 后面简称backend)来做复杂的计算、处理和响应,这种模式的好处是相当多的:隐藏业务主机更安全,节约了公网IP地址,并且在业务量增加的时候可以方便地扩容后台服务器。
负载均衡原理图
1、拉取Nginx和Tomcat镜像
docker pull nginx
docker pull tomcat
docker images查看镜像
docker images查看镜像
2、新建tomcat容器分别为tomcat1/tomcat2/tomcat3
docker run --name tomcat1-p 8080:8080 tomcat
docker run --name tomcat2-p 8081:8080 tomcat
docker run --name tomcat3-p 8082:8080 tomcat
docker ps -a 查看新建容器
查看容器
可在浏览器里分别打开:http://192.168.1.58:8080、http://192.168.1.58:8001、http://192.168.1.58:8082查看tomcat是否启动成功。
查看tomcat是否启动
3、新建nginx容器
docker run -p 80:80 --name mynginx -d nginx
docker ps -a 可查看容器状态,也可在8888端口访问(宿主计算机防火墙要开启8888端口的访问)
docker exec -it mynginx bash 进入容器修改/etc/nginx/nginx.conf
keepalive_timeout 65;
#gzip on;
upstream testloadbalance {
server 192.168.1.58:8080;
server 192.168.1.58:8081;
server 192.168.1.58:8082;
}
server {
listen 80;
server_name testloadbalance;
charset utf-8;
location / {
proxy_pass http://testloadbalance;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}
}
# include /etc/nginx/conf.d/*.conf;
}
"/etc/nginx/nginx.conf" 48L, 1107C 44,14 Bot
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
upstream testloadbalance {
server 192.168.1.58:8080;
server 192.168.1.58:8081;
server 192.168.1.58:8082;
}
server {
listen 80;
server_name testloadbalance;
charset utf-8;
location / {
proxy_pass http://testloadbalance;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}
}
# include /etc/nginx/conf.d/*.conf;
修改nginx.conf后,重启nginx,然后访问192.168.1.58(没有端口号)
访问没有端口的IP
访问成功,说明基本的配置是生效了,但是负载均衡有没有起作用?我们可以修改一个tomcat文件试试。修改后重启容器。多次访问会出现下面的情况:
测试负载是否生效
至此负载均衡已经生效,在三台机器之间做负载均衡。
Docker包容万象
猜你喜欢
- 2024-10-09 15分钟学会nginx+tomcat+keepalived高可用负载均衡
- 2024-10-09 Nginx+Tomcat6+Membercached 实现负载均衡
- 2024-10-09 nginx 反向代理tomcat Nginx 反向代理 ip
- 2024-10-09 分享小白Nginx反向代理实现Tomcat分布式集群
- 2024-10-09 Nginx+Tomcat 动静分离实现负载均衡
- 2024-10-09 Nginx负载均衡与Redis实现Tomcat的session共享基本配置
- 2024-10-09 使用Redis存储Nginx+Tomcat负载均衡集群的Session
- 2024-10-09 使用Nginx+Tomcat+keepalived 搭建高性能高可用性负载均衡集群
- 2024-10-09 Nginx+Tomcat关于Session的管理 nginx连接tomcat
- 2024-10-09 部署Tomcat及Nginx负载均衡 nginx和tomcat的部署
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)