nginx是什么

实现http服务器的功能也可以实现反向代理服务器,邮件服务器,负载均衡,静态分离服务器 内存小,网络消耗小,插件丰富,开源稳定

基于nginx实现tomcat集群

快速扩充网站性能:

  • 加速器(nginx集群)
  • 缓存策略(前端/App/后端缓存 Redis+macached)
  • 消息中间件(异步解耦)
  • 项目优化

集群配置

  1. 先建立3个tomcat容器

docker run —name tomcat808 -d -p 808:8080 -v /usr/local/docker/tomcat808*/webapps:/usr/local/tomcat/webapps/ tomcat:9.0

  1. 访问测试

http://39.97.244.123:808*/

  1. 查看3个tomcat容器ip

    docker inspect tomcat8081

  2. 修改nginx.conf

    1. upstream tomcat2008{
    2. server 172.17.0.2:8080;
    3. server 172.17.0.6:8080;
    4. server 172.17.0.7:8080;
    5. }
    6. location / {
    7. proxy_connect_timeout 50;
    8. proxy_read_timeout 10;
    9. proxy_send_timeout 20;
    10. proxy_pass http://tomcat2008;
    11. }
  3. 重启 docker restart nginx

  4. 访问测试


nginx负载均衡策略

1.轮询 默认 ,安装请求顺序 进行有序分配 2.权重 权重越大,分配概率越高

3.ip_hash分配

根据ip进行分配对应的服务器

4.last_conn 最小连接

把请求分配到连接数最小的机器

5.fair(第三方)响应时间

优先分配响应时间少的服务器

6.url_hash(第三方)url进行分配


正向代理和反向代理

正向代理代理的对象是客户端,反向代理代理的对象是服务端 代理对象就是被隐藏的对象