nginx是什么
实现http服务器的功能也可以实现反向代理服务器,邮件服务器,负载均衡,静态分离服务器 内存小,网络消耗小,插件丰富,开源稳定
基于nginx实现tomcat集群
快速扩充网站性能:
- 加速器(nginx集群)
- 缓存策略(前端/App/后端缓存 Redis+macached)
- 消息中间件(异步解耦)
- 项目优化
- 等
集群配置
- 先建立3个tomcat容器
docker run —name tomcat808 -d -p 808:8080 -v /usr/local/docker/tomcat808*/webapps:/usr/local/tomcat/webapps/ tomcat:9.0
- 访问测试
查看3个tomcat容器ip
docker inspect tomcat8081
修改nginx.conf
upstream tomcat2008{
server 172.17.0.2:8080;
server 172.17.0.6:8080;
server 172.17.0.7:8080;
}
location / {
proxy_connect_timeout 50;
proxy_read_timeout 10;
proxy_send_timeout 20;
proxy_pass http://tomcat2008;
}
重启 docker restart nginx
- 访问测试
nginx负载均衡策略
1.轮询 默认 ,安装请求顺序 进行有序分配 2.权重 权重越大,分配概率越高
3.ip_hash分配
根据ip进行分配对应的服务器
4.last_conn 最小连接
把请求分配到连接数最小的机器
5.fair(第三方)响应时间
优先分配响应时间少的服务器
6.url_hash(第三方)url进行分配
正向代理和反向代理
正向代理代理的对象是客户端,反向代理代理的对象是服务端 代理对象就是被隐藏的对象