00_Nginx的介绍和搭建

Nginx介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器

  • 特点:

  • 反向代理

  • 负载均衡

  • 动静分离

  • 等等...

  • 反向代理 :

  • 先来了解正向代理:需要我们用户,手动的设置代理服务器的ip和端口号

  • 反向代理:代理服务器的,用户不需要设置.

  • 负载均衡:
    原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
    多台服务器共同完成工作任务,从而提高了数据的吞吐量。

  • 动静分离:
    将静态的资源放到反向服务器,节省用户的访问时间.

用nginx在window上搭建一个集群

  • 准备好两个tomcat


    00_Nginx的介绍和搭建_第1张图片
    两个tomcat
  • 新建一个空项目test,该项目下有一个主页index.jsp,可以标识是哪个服务器

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


    tomcat1
<%=session.getId() %>
  • 导出war包部署到tomcat1

  • index.jsp中的tomcat1


    改为tomcat2
    ,导出war包部署到tomcat2

  • 由于端口不能相同,修改tomcat2,将所有端口加10


    00_Nginx的介绍和搭建_第2张图片
    修改端口
  • 启动两个tomcat

  • 启动Nginx,双击nginx.exe

    00_Nginx的介绍和搭建_第3张图片
    启动`Nginx`

双击nginx.exe之后没有任何反应,但是可以查看任务管理器查看已经启动的后台的Nginx任务

00_Nginx的介绍和搭建_第4张图片
Nginx后台进程

  • Nginx默认端口80,所以在浏览器直接:http://localhost/ ,进入Nginx默认主页

    00_Nginx的介绍和搭建_第5张图片
    Nginx默认主页

  • 代理一台主机的两种配置
    方式一:

  • 编辑nginx-1.6.3\conf\nginx.conf

    00_Nginx的介绍和搭建_第6张图片
    第一种方式

  • 重启Nginx(结束Nginx后台任务,再双击nginx.exe),刷新浏览器

    00_Nginx的介绍和搭建_第7张图片
    代理到8080端口的tomcat

    方式二:

  • 编辑nginx-1.6.3\conf\nginx.conf

    00_Nginx的介绍和搭建_第8张图片
    第二种方式

  • 重启Nginx,刷新浏览器,还是tomcat主页

  • 配置代理两台主机


    00_Nginx的介绍和搭建_第9张图片
    两台代理主机

    为了测试,配置两台主机的权重


    00_Nginx的介绍和搭建_第10张图片
    配置权重
  • 用多个浏览器访问多次,就可以看到tomcat1tomcat2

    00_Nginx的介绍和搭建_第11张图片
    tomcat1

    00_Nginx的介绍和搭建_第12张图片
    tomcat2

  • 但是可以看到两个sessionId不一样,在实际开发中可能会有问题

session共享问题

解决方案一:只能在window下好使

  • web服务器解决(广播机制)
    注意:tomcat下性能低
    修改两个地方:
    ① 修改tomcat的server.xml 支持共享
      将引擎标签下的 的注释去掉
    00_Nginx的介绍和搭建_第13张图片
    两个tomcat都要配置

    ② 修改项目的配置文件 web.xml中添加一个节点
      在web-app标签中添加标签

按照上面两步配置之后,重启两个tomcat和nginx

00_Nginx的介绍和搭建_第14张图片
sessionId一致了

解决方案二:

  • redis解决
    可以将session的id放入redis中

解决方案三:

  • 保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux下用这种方式
    在nginx的配置文件中
    upstream中添加ip_hash;

用nginx在linux搭建集群

  • linux安装参考:02_FastDFS在Linux上的搭建
  • 配置集群和在windows上一致,参考上面步骤

你可能感兴趣的:(00_Nginx的介绍和搭建)