网站首页 > 技术教程 正文
负载均衡在服务端开发中算是一个比较重要的特性。因为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-10 doker容器实战分别实现nginx、tomcat、mysql
- 2024-10-10 阿里P8终于总结出:SpringBoot+Tomcat+Nginx+Netty面试题及答案
- 2024-10-10 Nginx 和 tomcat开启Gzip功能的方法
- 2024-10-10 nginx 反向代理tomcat(nginx 反向代理配置)
- 2024-10-10 nginx反向代理tomcat集群(nginx反向代理实例)
- 2024-10-10 Nginx负载均衡+Tomcat架构还不透彻?Java架构师必读书籍送给你
- 2024-10-10 服务器环境中Tomcat、Nginx和Apache有什么特点呢?
- 2024-10-10 百度T7分享:Nginx+Tomcat实现负载均衡 动静分离集群 让你年薪30w
- 2024-10-10 Nginx+Tomcat 动静分离实现负载均衡
- 2024-10-10 注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡
你 发表评论:
欢迎- 最近发表
-
- linux CentOS检查见后门程序的shell
- 网络安全工程师演示:黑客是如何使用Nmap网络扫描工具的?
- Linux中ftp服务修改默认21端口等(linux修改ftp配置文件)
- Linux系统下使用Iptables配置端口转发,运维实战收藏!
- 谈谈TCP和UDP源端口的确定(tcp和udp的端口号相同吗)
- Linux 系统 通过端口号找到对应的服务及相应安装位置
- 快速查找NAS未占用端口!Docker端口秒级排查+可视化占坑双杀技
- 【知识杂谈#2】如何查看Linux的(本地与公网)IP地址与SSH端口号
- 如何在Linux中查询 DNS 记录,这三个命令可谓是最常用、最经典的
- 【Linux系统编程】特殊进程之守护进程
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)